mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-10-21 11:07:23 +08:00
抽离包装类,核心包脱离ServletAPI
This commit is contained in:
@@ -18,7 +18,7 @@
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-core</artifactId>
|
||||
<artifactId>sa-token-servlet</artifactId>
|
||||
<version>${sa-token-version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
@@ -11,6 +11,7 @@ import org.springframework.context.annotation.Import;
|
||||
/**
|
||||
* 将此注解加到springboot启动类上,即可完成sa-token与springboot的集成
|
||||
* <p>注: v1.7版本以上已不再需要此注解,直接引入sa-token-spring-boot-starter依赖即可
|
||||
* <p>请直接忽略此注解
|
||||
* @author kong
|
||||
*
|
||||
*/
|
||||
|
@@ -9,10 +9,9 @@ import org.springframework.util.PathMatcher;
|
||||
import cn.dev33.satoken.SaTokenManager;
|
||||
import cn.dev33.satoken.action.SaTokenAction;
|
||||
import cn.dev33.satoken.config.SaTokenConfig;
|
||||
import cn.dev33.satoken.cookie.SaTokenCookie;
|
||||
import cn.dev33.satoken.context.SaTokenContext;
|
||||
import cn.dev33.satoken.dao.SaTokenDao;
|
||||
import cn.dev33.satoken.servlet.SaTokenServlet;
|
||||
import cn.dev33.satoken.spring.SaTokenServletSpringImpl;
|
||||
import cn.dev33.satoken.spring.SaTokenContextForSpring;
|
||||
import cn.dev33.satoken.stp.StpInterface;
|
||||
|
||||
/**
|
||||
@@ -65,16 +64,6 @@ public class SaTokenSpringAutowired {
|
||||
SaTokenManager.setStpInterface(stpInterface);
|
||||
}
|
||||
|
||||
/**
|
||||
* 注入Cookie操作Bean
|
||||
*
|
||||
* @param saTokenCookie SaTokenCookie对象
|
||||
*/
|
||||
@Autowired(required = false)
|
||||
public void setSaTokenCookie(SaTokenCookie saTokenCookie) {
|
||||
SaTokenManager.setSaTokenCookie(saTokenCookie);
|
||||
}
|
||||
|
||||
/**
|
||||
* 注入框架行为Bean
|
||||
*
|
||||
@@ -86,23 +75,23 @@ public class SaTokenSpringAutowired {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取Servlet操作Bean (Spring版)
|
||||
* 获取容器交互Bean (Spring版)
|
||||
*
|
||||
* @return Servlet操作Bean (Spring版)
|
||||
* @return 容器交互Bean (Spring版)
|
||||
*/
|
||||
@Bean
|
||||
public SaTokenServlet getSaTokenServlet() {
|
||||
return new SaTokenServletSpringImpl();
|
||||
public SaTokenContext getSaTokenContext() {
|
||||
return new SaTokenContextForSpring();
|
||||
}
|
||||
|
||||
/**
|
||||
* 注入Servlet操作Bean
|
||||
* 注入容器交互Bean
|
||||
*
|
||||
* @param saTokenServlet SaTokenServlet对象
|
||||
* @param saTokenContext SaTokenContext对象
|
||||
*/
|
||||
@Autowired
|
||||
public void setSaTokenServlet(SaTokenServlet saTokenServlet) {
|
||||
SaTokenManager.setSaTokenServlet(saTokenServlet);
|
||||
public void setSaTokenContext(SaTokenContext saTokenContext) {
|
||||
SaTokenManager.setSaTokenContext(saTokenContext);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -112,7 +101,7 @@ public class SaTokenSpringAutowired {
|
||||
*/
|
||||
@Autowired(required = false)
|
||||
public void setPathMatcher(PathMatcher pathMatcher) {
|
||||
SaTokenServletSpringImpl.setPathMatcher(pathMatcher);
|
||||
SaTokenContextForSpring.setPathMatcher(pathMatcher);
|
||||
}
|
||||
|
||||
|
||||
|
@@ -5,6 +5,8 @@ import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.web.servlet.HandlerInterceptor;
|
||||
|
||||
import cn.dev33.satoken.context.model.servlet.SaRequestForServlet;
|
||||
import cn.dev33.satoken.context.model.servlet.SaResponseForServlet;
|
||||
import cn.dev33.satoken.router.SaRouteFunction;
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
|
||||
@@ -57,7 +59,7 @@ public class SaRouteInterceptor implements HandlerInterceptor {
|
||||
StpUtil.checkLogin();
|
||||
} else {
|
||||
// 否则执行函数
|
||||
function.run(request, response, handler);
|
||||
function.run(new SaRequestForServlet(request), new SaResponseForServlet(response), handler);
|
||||
}
|
||||
|
||||
// 通过验证
|
||||
|
@@ -1,12 +1,13 @@
|
||||
package cn.dev33.satoken.spring;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.util.AntPathMatcher;
|
||||
import org.springframework.util.PathMatcher;
|
||||
|
||||
import cn.dev33.satoken.servlet.SaTokenServlet;
|
||||
import cn.dev33.satoken.context.SaTokenContext;
|
||||
import cn.dev33.satoken.context.model.SaRequest;
|
||||
import cn.dev33.satoken.context.model.SaResponse;
|
||||
import cn.dev33.satoken.context.model.servlet.SaRequestForServlet;
|
||||
import cn.dev33.satoken.context.model.servlet.SaResponseForServlet;
|
||||
|
||||
/**
|
||||
* sa-token 对Cookie的相关操作 接口实现类
|
||||
@@ -14,25 +15,24 @@ import cn.dev33.satoken.servlet.SaTokenServlet;
|
||||
* @author kong
|
||||
*
|
||||
*/
|
||||
public class SaTokenServletSpringImpl implements SaTokenServlet {
|
||||
public class SaTokenContextForSpring implements SaTokenContext {
|
||||
|
||||
/**
|
||||
* 获取当前请求的Request对象
|
||||
*/
|
||||
@Override
|
||||
public HttpServletRequest getRequest() {
|
||||
return SpringMVCUtil.getRequest();
|
||||
public SaRequest getRequest() {
|
||||
return new SaRequestForServlet(SpringMVCUtil.getRequest());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前请求的Response对象
|
||||
*/
|
||||
@Override
|
||||
public HttpServletResponse getResponse() {
|
||||
return SpringMVCUtil.getResponse();
|
||||
public SaResponse getResponse() {
|
||||
return new SaResponseForServlet(SpringMVCUtil.getResponse());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 路由匹配器
|
||||
*/
|
||||
@@ -54,7 +54,7 @@ public class SaTokenServletSpringImpl implements SaTokenServlet {
|
||||
* @param pathMatcher 路由匹配器
|
||||
*/
|
||||
public static void setPathMatcher(PathMatcher pathMatcher) {
|
||||
SaTokenServletSpringImpl.pathMatcher = pathMatcher;
|
||||
SaTokenContextForSpring.pathMatcher = pathMatcher;
|
||||
}
|
||||
|
||||
/**
|
Reference in New Issue
Block a user