新增 SaRouter.stop() 函数

This commit is contained in:
shengzhang
2021-06-03 23:30:16 +08:00
parent 4efb0568e5
commit c57a5cfc9d
18 changed files with 142 additions and 71 deletions

View File

@@ -15,7 +15,8 @@ import javax.servlet.ServletResponse;
import org.springframework.core.annotation.Order;
import cn.dev33.satoken.exception.SaTokenException;
import cn.dev33.satoken.router.SaRouterUtil;
import cn.dev33.satoken.exception.StopMatchException;
import cn.dev33.satoken.router.SaRouter;
import cn.dev33.satoken.util.SaTokenConsts;
/**
@@ -153,11 +154,13 @@ public class SaServletFilter implements Filter {
try {
// 执行全局过滤器
SaRouterUtil.match(includeList, excludeList, () -> {
SaRouter.match(includeList, excludeList, () -> {
beforeAuth.run(null);
auth.run(null);
});
} catch (StopMatchException e) {
} catch (Throwable e) {
// 1. 获取异常处理策略结果
Object result = error.run(e);

View File

@@ -5,6 +5,7 @@ import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import cn.dev33.satoken.exception.StopMatchException;
import cn.dev33.satoken.router.SaRouteFunction;
import cn.dev33.satoken.servlet.model.SaRequestForServlet;
import cn.dev33.satoken.servlet.model.SaResponseForServlet;
@@ -58,8 +59,11 @@ public class SaRouteInterceptor implements HandlerInterceptor {
if(function == null) {
StpUtil.checkLogin();
} else {
// 否则执行函数
function.run(new SaRequestForServlet(request), new SaResponseForServlet(response), handler);
// 否则执行认证函数
try {
function.run(new SaRequestForServlet(request), new SaResponseForServlet(response), handler);
} catch (StopMatchException e) {
}
}
// 通过验证