48 lines
1.9 KiB
Java
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);
|
|
}
|
|
}
|