소스 검색

网关 增加是否进行token校验的判断,方便开发使用

by su 3 년 전
부모
커밋
60f13e5d3f

+ 9 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/TestController.java

@@ -5,6 +5,7 @@ import com.fdkankan.common.util.MatrixToImageWriterUtil;
 import com.fdkankan.platform.api.feign.PlatformClient;
 import com.fdkankan.platform.api.vo.User;
 import com.fdkankan.redis.util.RedisUtil;
+import com.fdkankan.scene.service.ISceneService;
 import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
@@ -127,4 +128,12 @@ public class TestController {
         return redisUtil.hmget("userMap");
     }
 
+    @Autowired
+    ISceneService sceneService;
+
+    @GetMapping("/testSchedule")
+    public void testSchedule(){
+        sceneService.updatePv();
+    }
+
 }

+ 9 - 0
4dkankan-gateway/src/main/java/com/fdkankan/gateway/filter/TokenFilter.java

@@ -9,6 +9,8 @@ import com.fdkankan.common.util.JwtUtil;
 import io.jsonwebtoken.Claims;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cloud.context.config.annotation.RefreshScope;
 import org.springframework.cloud.gateway.filter.GatewayFilterChain;
 import org.springframework.cloud.gateway.filter.GlobalFilter;
 import org.springframework.core.Ordered;
@@ -29,6 +31,7 @@ import java.util.Map;
 
 @Slf4j
 @Component
+@RefreshScope
 public class TokenFilter implements GlobalFilter, Ordered {
 
     private static final String TOKEN = "token";
@@ -37,6 +40,9 @@ public class TokenFilter implements GlobalFilter, Ordered {
 
     private static final List<String> ignoreAuthUrls = new ArrayList<>();
 
+    @Value("${tokenCheck:check}")
+    private String tokenCheck;
+
 //    @Resource
 //    private RedisUtil redisUtil;
     @Autowired
@@ -79,6 +85,9 @@ public class TokenFilter implements GlobalFilter, Ordered {
     public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
         ServerHttpRequest request = exchange.getRequest();
         ServerHttpResponse response = exchange.getResponse();
+        if(!"check".equals(tokenCheck)){
+            return chain.filter(exchange);
+        }
         // 获取当前请求路径
         String path = request.getURI().getPath();
         log.info("当前路径为" + path + ",判断是否为忽略路径.");