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);
}