diff --git a/pom.xml b/pom.xml
index 5ca762d5d097f02b45ba12842e4ff8ae5d94dce4..e77d25f0785225db5d413da2ef200b23b881ba31 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,14 +15,15 @@
org.springframework.boot
spring-boot-starter-parent
- 2.0.1.RELEASE
+ 2.1.3.RELEASE
1.8
UTF-8
UTF-8
- 1.1.5
+ 1.2.0
+ 1.1.5
@@ -30,7 +31,7 @@
org.springframework.cloud
spring-cloud-dependencies
- Finchley.SR2
+ Greenwich.RELEASE
pom
import
@@ -73,7 +74,7 @@
cn.stylefeng.roses
biz-support-dict-api
- ${kernel.version}
+ ${roses-biz-support.version}
@@ -93,10 +94,6 @@
org.springframework.cloud
spring-cloud-starter-netflix-zuul
-
- org.springframework.cloud
- spring-cloud-starter-openfeign
-
cn.stylefeng.roses
diff --git a/src/main/java/cn/stylefeng/roses/gateway/config/ContextConfig.java b/src/main/java/cn/stylefeng/roses/gateway/config/ContextConfig.java
index f515df2f2348f540a01933250e7e51cdc609b0ed..254b17496f30fc1ff1a551e5e19e625db2293bed 100644
--- a/src/main/java/cn/stylefeng/roses/gateway/config/ContextConfig.java
+++ b/src/main/java/cn/stylefeng/roses/gateway/config/ContextConfig.java
@@ -20,8 +20,14 @@ import cn.stylefeng.roses.core.reqres.response.ErrorResponseData;
import cn.stylefeng.roses.kernel.logger.chain.aop.ChainOnConsumerAop;
import cn.stylefeng.roses.kernel.logger.chain.aop.ChainOnControllerAop;
import cn.stylefeng.roses.kernel.logger.chain.aop.ChainOnProviderAop;
+import cn.stylefeng.roses.kernel.model.api.AuthService;
+import cn.stylefeng.roses.kernel.model.auth.AbstractLoginUser;
import cn.stylefeng.roses.kernel.model.exception.ServiceException;
import cn.stylefeng.roses.kernel.model.exception.enums.CoreExceptionEnum;
+import cn.stylefeng.roses.system.api.context.LoginContext;
+import cn.stylefeng.roses.system.api.context.LoginUser;
+import com.alibaba.fastjson.parser.ParserConfig;
+import com.alibaba.fastjson.parser.deserializer.ObjectDeserializer;
import com.netflix.zuul.context.RequestContext;
import com.netflix.zuul.exception.ZuulException;
import org.springframework.boot.web.servlet.error.DefaultErrorAttributes;
@@ -40,6 +46,19 @@ import java.util.Map;
@Configuration
public class ContextConfig {
+ /**
+ * 获取当前用户的便捷工具
+ */
+ @Bean
+ public LoginContext loginContext(AuthService authService) {
+ /**
+ * 让 fastjson把LoginUser可以反序列化成AbstractLoginUser
+ */
+ ObjectDeserializer objectDeserializer = ParserConfig.getGlobalInstance().getDeserializer(LoginUser.class);
+ ParserConfig.getGlobalInstance().getDeserializers().put(AbstractLoginUser.class, objectDeserializer);
+ return new LoginContext(authService);
+ }
+
/**
* zuul错误信息提示重写
*/
diff --git a/src/main/java/cn/stylefeng/roses/gateway/config/FilterConfig.java b/src/main/java/cn/stylefeng/roses/gateway/config/FilterConfig.java
index 45e01befa7afbbe163568615efc0857fc354fb3e..df07e058fe09c0917d25403eef6e0cc6adc8edde 100644
--- a/src/main/java/cn/stylefeng/roses/gateway/config/FilterConfig.java
+++ b/src/main/java/cn/stylefeng/roses/gateway/config/FilterConfig.java
@@ -16,6 +16,7 @@
package cn.stylefeng.roses.gateway.config;
import cn.stylefeng.roses.gateway.core.filter.JwtTokenFilter;
+import cn.stylefeng.roses.gateway.core.filter.PathMatchFilter;
import cn.stylefeng.roses.gateway.core.filter.RequestNoGenerateFilter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -40,10 +41,10 @@ public class FilterConfig {
/**
* 资源过滤器,检查每次请求是否有权限访问某些资源
*/
- //@Bean
- //public PathMatchFilter pathMatchFilter() {
- // return new PathMatchFilter();
- //}
+ @Bean
+ public PathMatchFilter pathMatchFilter() {
+ return new PathMatchFilter();
+ }
/**
* 请求唯一编号生成器,每次请求入网关时都会生成一个唯一编号,用来记录一次请求的所有日志和异常信息
diff --git a/src/main/java/cn/stylefeng/roses/gateway/modular/service/TokenValidateService.java b/src/main/java/cn/stylefeng/roses/gateway/modular/service/TokenValidateService.java
index 36c27b86f0a050bb64d724ca2649735abcc83f20..43c99c28a3bfa940ebee6e72e8a87c62dd433d8d 100644
--- a/src/main/java/cn/stylefeng/roses/gateway/modular/service/TokenValidateService.java
+++ b/src/main/java/cn/stylefeng/roses/gateway/modular/service/TokenValidateService.java
@@ -66,7 +66,7 @@ public abstract class TokenValidateService {
throw new ServiceException(AuthExceptionEnum.TOKEN_EMPTY);
}
} else {
- authToken = authToken.substring("Bearer ".length());
+// authToken = authToken.substring("Bearer ".length());
}
return authToken;
diff --git a/src/main/resources/bootstrap.yml b/src/main/resources/bootstrap.yml
index 41e550f252e9c1a0562876e9b3ba2a2a3427b15d..59d1f4306a8d22a272309593a55df19d8522b779 100644
--- a/src/main/resources/bootstrap.yml
+++ b/src/main/resources/bootstrap.yml
@@ -7,6 +7,8 @@ spring:
config:
profile: @spring.active@
label: master
+ main:
+ allow-bean-definition-overriding: true
---