diff --git a/sa-token-dependencies/pom.xml b/sa-token-dependencies/pom.xml index 1701c92126a2e3537fb8d8af754ef20f28c4fe19..a189209fbf8736bb4200581b419db77ce670405a 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 1c778110849fa914dea3b0825137646a0afb72fa..85cefc8c925856f2c6f1f878a7d1b6a6739ef11a 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 7b18256fd46788b0d8a6da689acb534cbc7f9c6e..39ed2ff8bf219a50b66ac0f7703cd09219554d5e 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 82bd87b8ec773bbdb69e641bee0f9d778ad99e71..771fabf057b48a541611f6cf45528e2b5f46b586 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 390840fd1f5e2cbafd513e936b2cb209a3a05fc6..f3f9d8162736e408d762722db0d5d36bd7d39f11 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); }