!351 loveqq-framework版本更新

Merge pull request !351 from kfyty/dev
This commit is contained in:
刘潇
2026-03-01 21:04:21 +00:00
committed by Gitee
5 changed files with 51 additions and 11 deletions

View File

@@ -31,7 +31,7 @@
<noear-snack3.version>3.2.133</noear-snack3.version> <noear-snack3.version>3.2.133</noear-snack3.version>
<jfinal.version>4.9.17</jfinal.version> <jfinal.version>4.9.17</jfinal.version>
<jboot.version>3.14.4</jboot.version> <jboot.version>3.14.4</jboot.version>
<loveqq.version>1.1.2-java8</loveqq.version> <loveqq.version>1.1.5-java8</loveqq.version>
<commons-pool2.version>2.5.0</commons-pool2.version> <commons-pool2.version>2.5.0</commons-pool2.version>
<dubbo.version>2.7.21</dubbo.version> <dubbo.version>2.7.21</dubbo.version>
<grpc-spring-boot-starter.version>2.10.1.RELEASE</grpc-spring-boot-starter.version> <grpc-spring-boot-starter.version>2.10.1.RELEASE</grpc-spring-boot-starter.version>

View File

@@ -24,6 +24,7 @@
<dependency> <dependency>
<groupId>com.kfyty</groupId> <groupId>com.kfyty</groupId>
<artifactId>loveqq-core</artifactId> <artifactId>loveqq-core</artifactId>
<scope>provided</scope>
</dependency> </dependency>
<!-- loveqq-mvc-core --> <!-- loveqq-mvc-core -->
@@ -33,17 +34,40 @@
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<!-- loveqq redisson starter默认提供不配置链接信息不生效 -->
<dependency>
<groupId>com.kfyty</groupId>
<artifactId>loveqq-boot-starter-redisson</artifactId>
</dependency>
<!-- jackson 序列化、redis集成、SSO、OAuth2 等模块要用到,比较重要所以内置集成 --> <!-- jackson 序列化、redis集成、SSO、OAuth2 等模块要用到,比较重要所以内置集成 -->
<dependency> <dependency>
<groupId>cn.dev33</groupId> <groupId>cn.dev33</groupId>
<artifactId>sa-token-jackson</artifactId> <artifactId>sa-token-jackson</artifactId>
<exclusions>
<!-- loveqq-core 已有,这里排除以统一版本 -->
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
</exclusion>
</exclusions>
</dependency> </dependency>
<!-- loveqq redisson starter --> <!-- redisson,默认提供,不配置不生效 -->
<dependency> <dependency>
<groupId>com.kfyty</groupId> <groupId>cn.dev33</groupId>
<artifactId>loveqq-boot-starter-redisson</artifactId> <artifactId>sa-token-redisson</artifactId>
<scope>provided</scope> <exclusions>
<!-- 使用 loveqq redisson starter 提供的 -->
<exclusion>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
</exclusion>
</exclusions>
</dependency> </dependency>
<!-- Servlet API --> <!-- Servlet API -->

View File

@@ -16,6 +16,8 @@
package cn.dev33.satoken.loveqq.boot; package cn.dev33.satoken.loveqq.boot;
import cn.dev33.satoken.config.SaTokenConfig; 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.context.path.ApplicationContextPathLoading;
import cn.dev33.satoken.loveqq.boot.filter.SaFirewallCheckFilter; import cn.dev33.satoken.loveqq.boot.filter.SaFirewallCheckFilter;
import cn.dev33.satoken.loveqq.boot.filter.SaTokenContextFilter; 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.Component;
import com.kfyty.loveqq.framework.core.autoconfig.annotation.ConfigurationProperties; 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.annotation.Import;
import com.kfyty.loveqq.framework.core.autoconfig.condition.annotation.ConditionalOnBean;
import org.redisson.api.RedissonClient;
/** /**
* 注册Sa-Token所需要的Bean * 注册Sa-Token所需要的Bean
@@ -57,6 +61,17 @@ public class SaBeanRegister {
return new SaTokenConfig(); return new SaTokenConfig();
} }
/**
* redis dao 集成
*
* @return {@link SaTokenDao}
*/
@Bean
@ConditionalOnBean(RedissonClient.class)
public SaTokenDao saTokenDao(RedissonClient redisson) {
return new SaTokenDaoForRedisson(redisson);
}
/** /**
* 应用上下文路径加载器 * 应用上下文路径加载器
* *

View File

@@ -29,8 +29,8 @@ import reactor.core.publisher.Mono;
* @since 1.19.0 * @since 1.19.0
*/ */
public class SaReactorHolder { 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 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.netty.request.support.ResponseContextHolder.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 > * 获取 Mono < ServerRequest >

View File

@@ -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.ServerRequest;
import com.kfyty.loveqq.framework.web.core.http.ServerResponse; 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.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; import java.lang.reflect.Method;
@@ -110,15 +111,15 @@ public class SaInterceptor implements HandlerInterceptor {
* 每次请求之前触发的方法 * 每次请求之前触发的方法
*/ */
@Override @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); SaTokenContextModelBox prev = SaTokenContextUtil.setContext(request, response);
try { try {
// 前置函数:在注解鉴权之前执行 // 前置函数:在注解鉴权之前执行
beforeAuth.run(handler); beforeAuth.run(handler);
// 这里必须确保 handler 是 HandlerMethod 类型时,才能进行注解鉴权 // 这里必须确保 handler 是 HandlerMethod 类型时,才能进行注解鉴权
if (isAnnotation) { if (isAnnotation && handler instanceof HandlerMethodRoute) {
Method method = handler.getMappingMethod(); Method method = ((HandlerMethodRoute) handler).getMappedMethod();
SaAnnotationStrategy.instance.checkMethodAnnotation.accept(method); SaAnnotationStrategy.instance.checkMethodAnnotation.accept(method);
} }