SaTokenConfig.java 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package com.nb.auth.sa;
  2. import cn.dev33.satoken.interceptor.SaAnnotationInterceptor;
  3. import cn.dev33.satoken.interceptor.SaRouteInterceptor;
  4. import cn.dev33.satoken.router.SaRouter;
  5. import cn.dev33.satoken.stp.StpUtil;
  6. import com.nb.auth.utils.SecurityUtil;
  7. import lombok.extern.slf4j.Slf4j;
  8. import org.springframework.context.annotation.Bean;
  9. import org.springframework.context.annotation.Configuration;
  10. import org.springframework.core.annotation.Order;
  11. import org.springframework.web.servlet.HandlerInterceptor;
  12. import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  13. import java.util.ArrayList;
  14. import java.util.List;
  15. /**
  16. * Sa Token 注册拦截器
  17. *
  18. * @author Kevin
  19. */
  20. @Slf4j
  21. @Configuration
  22. public class SaTokenConfig {
  23. @Bean
  24. @Order(1)
  25. public HandlerInterceptor handlerInterceptor(){
  26. return new SaRouteInterceptor((req, res, handler) -> {
  27. SaRouter.match("/**")
  28. .notMatch(IGNORE_URL)
  29. .check(__-> SecurityUtil.getStpLogic().checkLogin());
  30. // .check(StpUtil::checkLogin);
  31. });
  32. }
  33. @Bean
  34. @Order(1)
  35. public HandlerInterceptor annotationInterceptor(){
  36. return new SaAnnotationInterceptor();
  37. }
  38. private static final List<String> IGNORE_URL = new ArrayList<>();
  39. static {
  40. IGNORE_URL.add("/actuator/**");
  41. IGNORE_URL.add("/bus/version/page");
  42. IGNORE_URL.add("/druid/**");
  43. IGNORE_URL.add("/favicon.ico");
  44. IGNORE_URL.add("/sys/app/get");
  45. IGNORE_URL.add("/index");
  46. IGNORE_URL.add("/login");
  47. IGNORE_URL.add("/token");
  48. IGNORE_URL.add("/logout");
  49. IGNORE_URL.add("/common/**");
  50. IGNORE_URL.add("/*.html");
  51. IGNORE_URL.add("/**/*.html");
  52. IGNORE_URL.add("/error");
  53. IGNORE_URL.add("/swagger-resources/**");
  54. IGNORE_URL.add("/swagger-ui/**");
  55. IGNORE_URL.add("/webjars/**");
  56. IGNORE_URL.add("/v2/api-docs/*");
  57. IGNORE_URL.add("/v2/api-docs");
  58. IGNORE_URL.add("/v1/**");
  59. IGNORE_URL.add("/assist/captcha/**");
  60. IGNORE_URL.add("/authority/captcha/**");
  61. IGNORE_URL.add("/system/curl/**");
  62. IGNORE_URL.add("/system/sysConfig/getTime");
  63. IGNORE_URL.add("/system/sysDept/**");
  64. IGNORE_URL.add("/assist/phone/**");
  65. IGNORE_URL.add("/bus/device/info/hospitalCode");
  66. IGNORE_URL.add("/bus/device/info/hospitalCodeAndAlias");
  67. IGNORE_URL.add("/iot/**");
  68. IGNORE_URL.add("/mqtt/**");
  69. }
  70. }