MyWebMvcConfigurer.java 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. "/EsApi/**",
  22. "/tOrder/**",
  23. "/tCoinOrder/**",
  24. "/tNameDictionary/**",
  25. "/orderApi/**",
  26. "/refundSendRecord/**"
  27. };
  28. registry.addInterceptor(headTokenInterceptor)
  29. .addPathPatterns("/**")
  30. // 排除swagger路径
  31. .excludePathPatterns(swaggerExcludes)
  32. // 排除白名单路径
  33. .excludePathPatterns(permitAll)
  34. // 排除自定义路径
  35. .excludePathPatterns(myExcludes);
  36. // 特别包含需要进行TOKEN检查的路径
  37. for (String path : new String[]{
  38. "/tOrder/pageOrder",
  39. "/tOrder/getStatistics",
  40. "/tOrder/getEquipmentStatistics",
  41. "/v2/api-docs"
  42. }) {
  43. registry.addInterceptor(headTokenInterceptor)
  44. .addPathPatterns(path);
  45. }
  46. // 添加Spring Security默认的拦截器
  47. super.addInterceptors(registry);
  48. }
  49. /**
  50. * 添加静态资源
  51. *
  52. * @param registry
  53. */
  54. @Override
  55. public void addResourceHandlers(ResourceHandlerRegistry registry) {
  56. registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
  57. registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
  58. registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
  59. }
  60. }