MyWebMvcConfigurer.java 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package com.szwl.aspect;
  2. import org.springframework.beans.factory.annotation.Autowired;
  3. import org.springframework.beans.factory.annotation.Value;
  4. import org.springframework.context.annotation.Configuration;
  5. import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
  6. import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
  7. import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
  8. @Configuration
  9. public class MyWebMvcConfigurer extends WebMvcConfigurationSupport {
  10. @Value("${swagger.url:[]}")
  11. private String[] swaggerExcludes;
  12. // 白名单
  13. @Value("${permitAll.url:[]}")
  14. private String[] permitAll;
  15. @Autowired
  16. private HeadTokenInterceptor headTokenInterceptor;
  17. @Override
  18. public void addInterceptors(InterceptorRegistry registry) {
  19. // 自定义去除的路径
  20. String[] myExcludes = {
  21. "/tAdmin/**",
  22. "/tMessageCode/**",
  23. "/tJoinpayMch/**",
  24. "/tJoinpayMchCheck/**",
  25. "/tLogo/**",
  26. "/tProportion/**",
  27. "/tProduct/**",
  28. "/tPromoCode/**",
  29. "/tApkInfo/**",
  30. "/tTimeRule/**",
  31. "/sysRoleMenu/**",
  32. "/tEquipmentApply/**",
  33. "/tEquipment/**",
  34. "/api/**",
  35. "/tOrder/**",
  36. "/tAlarmClock/**",
  37. "/tNotice/**",
  38. "/tParameters/**",
  39. "/tLabel/**",
  40. "/tArea/**",
  41. "/error",
  42. "/tWechat/**",
  43. "/wxLogin/**",
  44. "/syncOldAdmin/**",
  45. "/syncOldAll/**",
  46. "/syncOldEquipment/**",
  47. "/syncOldProduct/**",
  48. "/syncOldProportion/**",
  49. "/syncOldJoinpayMch/**",
  50. "/tLocationCheck/**",
  51. "/test/**",
  52. "/tHotUpdate/**",
  53. "/tAlarmClean/**",
  54. "/mqtt/**"
  55. };
  56. registry.addInterceptor(headTokenInterceptor)
  57. .addPathPatterns("/**")
  58. // 排除swagger路径
  59. .excludePathPatterns(swaggerExcludes)
  60. // 排除白名单路径
  61. .excludePathPatterns(permitAll)
  62. // 排除自定义路径
  63. .excludePathPatterns(myExcludes);
  64. // 特别包含需要进行TOKEN检查的路径
  65. for (String path : new String[]{
  66. "/tAdmin/getAdminList", "/tAdmin/getRelation",
  67. "/tJoinpayMch/getOne",
  68. "/tEquipment/findList",
  69. "/v2/api-docs","/tAdmin/getAdminOne/**",
  70. // "/tAdmin/getAdminVo",
  71. "/tAdmin/getAdminByUsername","/tAdmin/getIdIfForeign", "/tAdmin/pageAdmin2"
  72. }) {
  73. registry.addInterceptor(headTokenInterceptor)
  74. .addPathPatterns(path);
  75. }
  76. // 添加Spring Security默认的拦截器
  77. super.addInterceptors(registry);
  78. }
  79. /**
  80. * 添加静态资源
  81. *
  82. * @param registry
  83. */
  84. @Override
  85. public void addResourceHandlers(ResourceHandlerRegistry registry) {
  86. registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
  87. registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
  88. registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
  89. }
  90. }