From e5e1e00b9c90d6834769fa8a5596dec318161140 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AD=E5=A6=82?= <8775@163.com> Date: Thu, 27 Feb 2025 20:27:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=A1=E9=AA=8Ctoken?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sop/gateway/interceptor/RouteInterceptor.java | 5 +++-- .../internal/TokenValidateInterceptor.java | 11 ++++++----- .../sop/gateway/service/impl/RouteServiceImpl.java | 4 +++- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/sop-gateway/src/main/java/com/gitee/sop/gateway/interceptor/RouteInterceptor.java b/sop-gateway/src/main/java/com/gitee/sop/gateway/interceptor/RouteInterceptor.java index 521ddf88..4f986da1 100755 --- a/sop-gateway/src/main/java/com/gitee/sop/gateway/interceptor/RouteInterceptor.java +++ b/sop-gateway/src/main/java/com/gitee/sop/gateway/interceptor/RouteInterceptor.java @@ -46,10 +46,11 @@ public interface RouteInterceptor { /** * 是否匹配,返回true执行拦截器,默认true * - * @param context context + * @param context context + * @param apiInfoDTO 接口信息 * @return 返回true执行拦截器 */ - default boolean match(ApiRequestContext context) { + default boolean match(ApiRequestContext context, ApiInfoDTO apiInfoDTO) { return true; } } diff --git a/sop-gateway/src/main/java/com/gitee/sop/gateway/interceptor/internal/TokenValidateInterceptor.java b/sop-gateway/src/main/java/com/gitee/sop/gateway/interceptor/internal/TokenValidateInterceptor.java index bb9fb5e3..a7be2455 100644 --- a/sop-gateway/src/main/java/com/gitee/sop/gateway/interceptor/internal/TokenValidateInterceptor.java +++ b/sop-gateway/src/main/java/com/gitee/sop/gateway/interceptor/internal/TokenValidateInterceptor.java @@ -19,11 +19,6 @@ import org.springframework.stereotype.Component; public class TokenValidateInterceptor implements RouteInterceptor { @Override public void preRoute(ApiRequestContext context, ApiInfoDTO apiInfoDTO) { - Integer isNeedToken = apiInfoDTO.getIsNeedToken(); - if (YesOrNoEnum.of(isNeedToken) == YesOrNoEnum.NO) { - return; - } - // 走到这里token肯定有值 String appAuthToken = context.getApiRequest().getAppAuthToken(); @@ -32,6 +27,12 @@ public class TokenValidateInterceptor implements RouteInterceptor { } } + @Override + public boolean match(ApiRequestContext context, ApiInfoDTO apiInfoDTO) { + Integer isNeedToken = apiInfoDTO.getIsNeedToken(); + return YesOrNoEnum.of(isNeedToken) == YesOrNoEnum.YES; + } + /** * 校验token是否合法 * diff --git a/sop-gateway/src/main/java/com/gitee/sop/gateway/service/impl/RouteServiceImpl.java b/sop-gateway/src/main/java/com/gitee/sop/gateway/service/impl/RouteServiceImpl.java index 47d2529b..741188e9 100755 --- a/sop-gateway/src/main/java/com/gitee/sop/gateway/service/impl/RouteServiceImpl.java +++ b/sop-gateway/src/main/java/com/gitee/sop/gateway/service/impl/RouteServiceImpl.java @@ -121,7 +121,9 @@ public class RouteServiceImpl implements RouteService { protected void doPreRoute(ApiRequestContext apiRequestContext, ApiInfoDTO apiInfoDTO) { for (RouteInterceptor routeInterceptor : routeInterceptors) { - routeInterceptor.preRoute(apiRequestContext, apiInfoDTO); + if (routeInterceptor.match(apiRequestContext, apiInfoDTO)) { + routeInterceptor.preRoute(apiRequestContext, apiInfoDTO); + } } }