From 03613bf7a3bbbe11dd84362f359be75728c57a5e Mon Sep 17 00:00:00 2001 From: kfyty725 Date: Fri, 15 Aug 2025 15:28:47 +0800 Subject: [PATCH] =?UTF-8?q?opt:loveqq-framework=E7=89=88=E6=9C=AC=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sa-token-dependencies/pom.xml | 2 +- .../sa-token-loveqq-boot-starter/pom.xml | 32 ++++++++++++++++--- .../satoken/loveqq/boot/SaBeanRegister.java | 15 +++++++++ .../loveqq/boot/context/SaReactorHolder.java | 4 +-- .../boot/interceptor/SaInterceptor.java | 9 +++--- 5 files changed, 51 insertions(+), 11 deletions(-) diff --git a/sa-token-dependencies/pom.xml b/sa-token-dependencies/pom.xml index 1701c921..a189209f 100644 --- a/sa-token-dependencies/pom.xml +++ b/sa-token-dependencies/pom.xml @@ -30,7 +30,7 @@ 3.2.133 4.9.17 3.14.4 - 1.1.2-java8 + 1.1.5-java8 2.5.0 2.7.21 2.10.1.RELEASE diff --git a/sa-token-starter/sa-token-loveqq-boot-starter/pom.xml b/sa-token-starter/sa-token-loveqq-boot-starter/pom.xml index 1c778110..85cefc8c 100644 --- a/sa-token-starter/sa-token-loveqq-boot-starter/pom.xml +++ b/sa-token-starter/sa-token-loveqq-boot-starter/pom.xml @@ -24,6 +24,7 @@ com.kfyty loveqq-core + provided @@ -33,17 +34,40 @@ provided + + + com.kfyty + loveqq-boot-starter-redisson + + cn.dev33 sa-token-jackson + + + + com.fasterxml.jackson.core + jackson-databind + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + + - + - com.kfyty - loveqq-boot-starter-redisson - provided + cn.dev33 + sa-token-redisson + + + + org.redisson + redisson + + diff --git a/sa-token-starter/sa-token-loveqq-boot-starter/src/main/java/cn/dev33/satoken/loveqq/boot/SaBeanRegister.java b/sa-token-starter/sa-token-loveqq-boot-starter/src/main/java/cn/dev33/satoken/loveqq/boot/SaBeanRegister.java index 7b18256f..39ed2ff8 100644 --- a/sa-token-starter/sa-token-loveqq-boot-starter/src/main/java/cn/dev33/satoken/loveqq/boot/SaBeanRegister.java +++ b/sa-token-starter/sa-token-loveqq-boot-starter/src/main/java/cn/dev33/satoken/loveqq/boot/SaBeanRegister.java @@ -16,6 +16,8 @@ package cn.dev33.satoken.loveqq.boot; import cn.dev33.satoken.config.SaTokenConfig; +import cn.dev33.satoken.dao.SaTokenDao; +import cn.dev33.satoken.dao.SaTokenDaoForRedisson; import cn.dev33.satoken.loveqq.boot.context.path.ApplicationContextPathLoading; import cn.dev33.satoken.loveqq.boot.filter.SaFirewallCheckFilter; import cn.dev33.satoken.loveqq.boot.filter.SaTokenContextFilter; @@ -26,6 +28,8 @@ import com.kfyty.loveqq.framework.core.autoconfig.annotation.Bean; import com.kfyty.loveqq.framework.core.autoconfig.annotation.Component; import com.kfyty.loveqq.framework.core.autoconfig.annotation.ConfigurationProperties; import com.kfyty.loveqq.framework.core.autoconfig.annotation.Import; +import com.kfyty.loveqq.framework.core.autoconfig.condition.annotation.ConditionalOnBean; +import org.redisson.api.RedissonClient; /** * 注册Sa-Token所需要的Bean @@ -57,6 +61,17 @@ public class SaBeanRegister { return new SaTokenConfig(); } + /** + * redis dao 集成 + * + * @return {@link SaTokenDao} + */ + @Bean + @ConditionalOnBean(RedissonClient.class) + public SaTokenDao saTokenDao(RedissonClient redisson) { + return new SaTokenDaoForRedisson(redisson); + } + /** * 应用上下文路径加载器 * diff --git a/sa-token-starter/sa-token-loveqq-boot-starter/src/main/java/cn/dev33/satoken/loveqq/boot/context/SaReactorHolder.java b/sa-token-starter/sa-token-loveqq-boot-starter/src/main/java/cn/dev33/satoken/loveqq/boot/context/SaReactorHolder.java index 82bd87b8..771fabf0 100644 --- a/sa-token-starter/sa-token-loveqq-boot-starter/src/main/java/cn/dev33/satoken/loveqq/boot/context/SaReactorHolder.java +++ b/sa-token-starter/sa-token-loveqq-boot-starter/src/main/java/cn/dev33/satoken/loveqq/boot/context/SaReactorHolder.java @@ -29,8 +29,8 @@ import reactor.core.publisher.Mono; * @since 1.19.0 */ public class SaReactorHolder { - public static final String REQUEST_CONTEXT_ATTRIBUTE = "com.kfyty.loveqq.framework.web.mvc.netty.request.support.RequestContextHolder.REQUEST_CONTEXT_ATTRIBUTE"; - public static final String RESPONSE_CONTEXT_ATTRIBUTE = "com.kfyty.loveqq.framework.web.mvc.netty.request.support.ResponseContextHolder.REQUEST_CONTEXT_ATTRIBUTE"; + public static final String REQUEST_CONTEXT_ATTRIBUTE = "com.kfyty.loveqq.framework.web.mvc.reactor.request.support.RequestContextHolder.REQUEST_CONTEXT_ATTRIBUTE"; + public static final String RESPONSE_CONTEXT_ATTRIBUTE = "com.kfyty.loveqq.framework.web.mvc.reactor.request.support.ResponseContextHolder.REQUEST_CONTEXT_ATTRIBUTE"; /** * 获取 Mono < ServerRequest > diff --git a/sa-token-starter/sa-token-loveqq-boot-starter/src/main/java/cn/dev33/satoken/loveqq/boot/interceptor/SaInterceptor.java b/sa-token-starter/sa-token-loveqq-boot-starter/src/main/java/cn/dev33/satoken/loveqq/boot/interceptor/SaInterceptor.java index 390840fd..f3f9d816 100644 --- a/sa-token-starter/sa-token-loveqq-boot-starter/src/main/java/cn/dev33/satoken/loveqq/boot/interceptor/SaInterceptor.java +++ b/sa-token-starter/sa-token-loveqq-boot-starter/src/main/java/cn/dev33/satoken/loveqq/boot/interceptor/SaInterceptor.java @@ -25,7 +25,8 @@ import cn.dev33.satoken.strategy.SaAnnotationStrategy; import com.kfyty.loveqq.framework.web.core.http.ServerRequest; import com.kfyty.loveqq.framework.web.core.http.ServerResponse; import com.kfyty.loveqq.framework.web.core.interceptor.HandlerInterceptor; -import com.kfyty.loveqq.framework.web.core.mapping.MethodMapping; +import com.kfyty.loveqq.framework.web.core.route.HandlerMethodRoute; +import com.kfyty.loveqq.framework.web.core.route.Route; import java.lang.reflect.Method; @@ -110,15 +111,15 @@ public class SaInterceptor implements HandlerInterceptor { * 每次请求之前触发的方法 */ @Override - public boolean preHandle(ServerRequest request, ServerResponse response, MethodMapping handler) { + public boolean preHandle(ServerRequest request, ServerResponse response, Route handler) { SaTokenContextModelBox prev = SaTokenContextUtil.setContext(request, response); try { // 前置函数:在注解鉴权之前执行 beforeAuth.run(handler); // 这里必须确保 handler 是 HandlerMethod 类型时,才能进行注解鉴权 - if (isAnnotation) { - Method method = handler.getMappingMethod(); + if (isAnnotation && handler instanceof HandlerMethodRoute) { + Method method = ((HandlerMethodRoute) handler).getMappedMethod(); SaAnnotationStrategy.instance.checkMethodAnnotation.accept(method); } -- Gitee