add 新增 ThreadLocalHolder 替代 SaHolder 支持异步

add 新增 ThreadLocalHolder 替代 SaHolder 支持异步
This commit is contained in:
疯狂的狮子Li
2023-12-29 13:14:16 +08:00
parent 77cfb9137e
commit c68eb5701b
10 changed files with 110 additions and 51 deletions

View File

@@ -5,7 +5,11 @@ import cn.dev33.satoken.filter.SaServletFilter;
import cn.dev33.satoken.interceptor.SaInterceptor;
import cn.dev33.satoken.same.SaSameUtil;
import cn.dev33.satoken.util.SaResult;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.dromara.common.core.constant.HttpStatus;
import org.dromara.common.core.context.ThreadLocalHolder;
import org.dromara.common.satoken.utils.LoginHelper;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
@@ -25,7 +29,12 @@ public class SecurityConfiguration implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 注册路由拦截器,自定义验证规则
registry.addInterceptor(new SaInterceptor()).addPathPatterns("/**");
registry.addInterceptor(new SaInterceptor() {
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
ThreadLocalHolder.remove(LoginHelper.LOGIN_USER_KEY);
}
}).addPathPatterns("/**");
}
/**