package com.nb.auth.sa; import cn.dev33.satoken.interceptor.SaRouteInterceptor; import cn.dev33.satoken.router.SaRouter; import cn.dev33.satoken.stp.StpUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; import org.springframework.web.servlet.HandlerInterceptor; import java.util.ArrayList; import java.util.List; /** * Sa Token 注册拦截器 * * @author Kevin */ @Slf4j @Configuration public class SaTokenConfig { @Bean @Order(1) public HandlerInterceptor handlerInterceptor(){ return new SaRouteInterceptor((req, res, handler) -> { SaRouter.match("/**") .notMatch(IGNORE_URL) .check(StpUtil::checkLogin); }); } private static final List IGNORE_URL = new ArrayList<>(); static { IGNORE_URL.add("/actuator/**"); IGNORE_URL.add("/bus/version/page"); IGNORE_URL.add("/druid/**"); IGNORE_URL.add("/favicon.ico"); IGNORE_URL.add("/sys/app/get"); IGNORE_URL.add("/index"); IGNORE_URL.add("/login"); IGNORE_URL.add("/token"); IGNORE_URL.add("/logout"); IGNORE_URL.add("/common/**"); IGNORE_URL.add("/*.html"); IGNORE_URL.add("/**/*.html"); IGNORE_URL.add("/error"); IGNORE_URL.add("/swagger-resources/**"); IGNORE_URL.add("/swagger-ui/**"); IGNORE_URL.add("/webjars/**"); IGNORE_URL.add("/v2/api-docs/*"); IGNORE_URL.add("/v2/api-docs"); IGNORE_URL.add("/v1/**"); IGNORE_URL.add("/authority/captcha/**"); IGNORE_URL.add("/system/curl/**"); IGNORE_URL.add("/system/sysConfig/getTime"); IGNORE_URL.add("/system/sysDept/**"); } }