MyWebMvcConfigurer.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  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/getEquipmentBool",
  34. "/tEquipment/getEquipmentByLatLon",
  35. "/tEquipment/findEquipmentByClientId",
  36. "/tEquipment/updateByEquipment",
  37. "/api/**",
  38. "/tOrder/**",
  39. "/tAlarmClock/**",
  40. "/tNotice/**",
  41. "/tParameters/**",
  42. "/tLabel/**",
  43. "/tArea/**",
  44. "/error",
  45. "/tWechat/**",
  46. "/wxLogin/**",
  47. "/syncOldAdmin/**",
  48. "/syncOldAll/**",
  49. "/syncOldEquipment/**",
  50. "/syncOldProduct/**",
  51. "/syncOldProportion/**",
  52. "/syncOldJoinpayMch/**",
  53. "/tLocationCheck/**",
  54. "/test/**",
  55. "/tHotUpdate/**",
  56. "/tAlarmClean/**",
  57. "/mqtt/**",
  58. "/callback/**",
  59. "/purse/**"
  60. };
  61. registry.addInterceptor(headTokenInterceptor)
  62. .addPathPatterns("/**")
  63. // 排除swagger路径
  64. .excludePathPatterns(swaggerExcludes)
  65. // 排除白名单路径
  66. .excludePathPatterns(permitAll)
  67. // 排除自定义路径
  68. .excludePathPatterns(myExcludes);
  69. // 特别包含需要进行TOKEN检查的路径
  70. for (String path : new String[]{
  71. "/tAdmin/getAdminList", "/tAdmin/getRelation",
  72. "/tJoinpayMch/getOne",
  73. "/tEquipment/findList",
  74. "/v2/api-docs","/tAdmin/getAdminOne/**",
  75. "/tAdmin/getAdminVo",
  76. "/tAdmin/getAdminByUsername","/tAdmin/getIdIfForeign", "/tAdmin/pageAdmin2"
  77. }) {
  78. registry.addInterceptor(headTokenInterceptor)
  79. .addPathPatterns(path);
  80. }
  81. // 添加Spring Security默认的拦截器
  82. super.addInterceptors(registry);
  83. }
  84. /**
  85. * 添加静态资源
  86. *
  87. * @param registry
  88. */
  89. @Override
  90. public void addResourceHandlers(ResourceHandlerRegistry registry) {
  91. registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
  92. registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
  93. registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
  94. }
  95. }