fix:文件上传优化

This commit is contained in:
zhangzq
2026-02-24 19:23:19 +08:00
parent 2e2b36ddf8
commit 2cbf0e063c
15 changed files with 143 additions and 61 deletions

View File

@@ -16,6 +16,7 @@ import cn.dev33.satoken.config.SaTokenConfig;
import cn.dev33.satoken.context.SaHolder;
import cn.dev33.satoken.context.model.SaResponse;
import cn.dev33.satoken.filter.SaServletFilter;
import cn.dev33.satoken.interceptor.SaInterceptor;
import cn.dev33.satoken.router.SaHttpMethod;
import cn.dev33.satoken.router.SaRouter;
import cn.dev33.satoken.stp.StpUtil;
@@ -245,39 +246,39 @@ public class GlobalConfigure implements WebMvcConfigurer {
// 指定拦截路由
.addInclude("/**")
// 设置鉴权的接口
.setAuth(r -> {
// B端的接口校验B端登录
SaRouter.match("/**")
// 排除无需登录接口
.notMatch(CollectionUtil.newArrayList(NO_LOGIN_PATH_ARR))
// 排除C端认证接口
.notMatch(CollectionUtil.newArrayList(CLIENT_USER_PERMISSION_PATH_ARR))
// 校验B端登录
.check(r1 -> {
StpUtil.checkLogin();
// 更新过期时间
StpUtil.renewTimeout(saTokenConfig.getTimeout());
});
// C端的接口校验C端登录
SaRouter.match("/**")
// 排除无需登录接口
.notMatch(CollectionUtil.newArrayList(NO_LOGIN_PATH_ARR))
// 匹配C端认证接口
.match(CollectionUtil.newArrayList(CLIENT_USER_PERMISSION_PATH_ARR))
// 校验C端登录
.check(r1 -> StpClientUtil.checkLogin());
// B端的超管接口校验B端超管角色
SaRouter.match("/**")
// 排除无需登录接口
.notMatch(CollectionUtil.newArrayList(NO_LOGIN_PATH_ARR))
// 匹配超管接口
.match(CollectionUtil.newArrayList(SUPER_PERMISSION_PATH_ARR))
// 校验B端超管角色
.check(r1 -> StpUtil.checkRole(SysBuildInEnum.BUILD_IN_ROLE_CODE.getValue()));
})
// // 设置鉴权的接口
// .setAuth(r -> {
// // B端的接口校验B端登录
// SaRouter.match("/**")
// // 排除无需登录接口
// .notMatch(CollectionUtil.newArrayList(NO_LOGIN_PATH_ARR))
// // 排除C端认证接口
// .notMatch(CollectionUtil.newArrayList(CLIENT_USER_PERMISSION_PATH_ARR))
// // 校验B端登录
// .check(r1 -> {
// StpUtil.checkLogin();
// // 更新过期时间
// StpUtil.renewTimeout(saTokenConfig.getTimeout());
// });
//
// // C端的接口校验C端登录
// SaRouter.match("/**")
// // 排除无需登录接口
// .notMatch(CollectionUtil.newArrayList(NO_LOGIN_PATH_ARR))
// // 匹配C端认证接口
// .match(CollectionUtil.newArrayList(CLIENT_USER_PERMISSION_PATH_ARR))
// // 校验C端登录
// .check(r1 -> StpClientUtil.checkLogin());
//
// // B端的超管接口校验B端超管角色
// SaRouter.match("/**")
// // 排除无需登录接口
// .notMatch(CollectionUtil.newArrayList(NO_LOGIN_PATH_ARR))
// // 匹配超管接口
// .match(CollectionUtil.newArrayList(SUPER_PERMISSION_PATH_ARR))
// // 校验B端超管角色
// .check(r1 -> StpUtil.checkRole(SysBuildInEnum.BUILD_IN_ROLE_CODE.getValue()));
// })
// 前置函数:在每次认证函数之前执行
.setBeforeAuth(obj -> {
@@ -712,6 +713,9 @@ public class GlobalConfigure implements WebMvcConfigurer {
*/
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new SaInterceptor(handle -> StpUtil.checkLogin()))
.addPathPatterns("/**")
.excludePathPatterns(NO_LOGIN_PATH_ARR); // 白名单
registry.addInterceptor(mockInterceptor)
.addPathPatterns("/**") // 拦截所有路径
.excludePathPatterns(CollectionUtil.newArrayList(NO_CHECK_MOCK));