fix: 修正认证信息转换错误
author刘洪青 <hongqing.liu@supwisdom.com>
Sun, 15 Sep 2019 04:31:46 +0000 (12:31 +0800)
committer刘洪青 <hongqing.liu@supwisdom.com>
Sun, 15 Sep 2019 04:31:46 +0000 (12:31 +0800)
gateway/src/main/java/com/supwisdom/institute/backend/gateway/Application.java
gateway/src/main/java/com/supwisdom/institute/backend/gateway/filter/SimpleUserTransmitGlobalFilter.java

index dac40b2..f837894 100644 (file)
@@ -30,8 +30,8 @@ import static org.springframework.web.cors.CorsConfiguration.ALL;
 //@EnableInfrasCasSecurity
 
 //@EnableInfrasBasicApi
-@EnableInfrasJWTWebFluxApi
 
+@EnableInfrasJWTWebFluxApi
 @EnableInfrasBasicWebFluxApi
 public class Application {
 
index 4cd8faf..9b64970 100644 (file)
@@ -14,7 +14,7 @@ import org.springframework.security.core.context.SecurityContext;
 import org.springframework.web.server.ServerWebExchange;
 
 import com.alibaba.fastjson.JSONObject;
-import com.supwisdom.institute.backend.gateway.security.core.userdetails.MyUser;
+import com.supwisdom.infras.security.core.userdetails.InfrasUser;
 import com.supwisdom.institute.backend.common.core.transmit.user.User;
 import com.supwisdom.institute.backend.common.core.transmit.user.UserContext;
 
@@ -32,10 +32,12 @@ public class SimpleUserTransmitGlobalFilter implements GlobalFilter, Ordered {
   public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
     
     return ReactiveSecurityContextHolder.getContext()
-      .filter(c -> c.getAuthentication() != null && c.getAuthentication().isAuthenticated() && c.getAuthentication().getPrincipal() instanceof MyUser)
+      .filter(c -> {
+        return c.getAuthentication() != null && c.getAuthentication().isAuthenticated() && c.getAuthentication().getPrincipal() instanceof InfrasUser;
+      })
       .map(SecurityContext::getAuthentication)
       .map(Authentication::getPrincipal)
-      .cast(MyUser.class)
+      .cast(InfrasUser.class)
       .map(myUser -> {
         try {
           User user = new User(myUser.getUsername(), myUser.getRoles(), myUser.getAttributes());