Files
yjearth/src/main/java/com/yj/earth/common/config/SaTokenConfig.java
2025-10-09 11:03:15 +08:00

48 lines
1.9 KiB
Java

package com.yj.earth.common.config;
import cn.dev33.satoken.interceptor.SaInterceptor;
import cn.dev33.satoken.stp.StpUtil;
import com.yj.earth.common.exception.UnAuthException;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.util.ArrayList;
import java.util.List;
@Configuration
public class SaTokenConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
List<String> excludePathPatterns = new ArrayList<>();
excludePathPatterns.add("/user/login");
excludePathPatterns.add("/user/add");
excludePathPatterns.add("/doc.html");
excludePathPatterns.add("/webjars/**");
excludePathPatterns.add("/v3/api-docs/**");
excludePathPatterns.add("/fileInfo/download/**");
excludePathPatterns.add("/fileInfo/preview/**");
excludePathPatterns.add("/fileInfo/previewLocal/**");
excludePathPatterns.add("/data/clt/**");
excludePathPatterns.add("/data/mbtiles/**");
excludePathPatterns.add("/data/pak/**");
excludePathPatterns.add("/systemService/**");
excludePathPatterns.add("/iconLibrary/data/icon/**");
excludePathPatterns.add("/militaryLibrary/data/military/**");
excludePathPatterns.add("/modelLibrary/data/**");
excludePathPatterns.add("/**");
// 注册 Sa-Token 拦截器
registry.addInterceptor(new SaInterceptor(handle -> {
// 登录校验
try {
StpUtil.checkLogin();
} catch (Exception e) {
throw new UnAuthException("未携带登录凭证");
}
})).addPathPatterns("/**")
.excludePathPatterns(excludePathPatterns);
}
}