WebConfig.java 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package cn.keking.config;
  2. import cn.keking.web.filter.*;
  3. import org.slf4j.Logger;
  4. import org.slf4j.LoggerFactory;
  5. import org.springframework.boot.web.servlet.FilterRegistrationBean;
  6. import org.springframework.context.annotation.Bean;
  7. import org.springframework.context.annotation.Configuration;
  8. import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
  9. import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  10. import java.util.HashSet;
  11. import java.util.Set;
  12. /**
  13. * @author: chenjh
  14. * @since: 2019/4/16 20:04
  15. */
  16. @Configuration
  17. public class WebConfig implements WebMvcConfigurer {
  18. private final static Logger LOGGER = LoggerFactory.getLogger(WebConfig.class);
  19. /**
  20. * 访问外部文件配置
  21. */
  22. @Override
  23. public void addResourceHandlers(ResourceHandlerRegistry registry) {
  24. String filePath = ConfigConstants.getFileDir();
  25. LOGGER.info("Add resource locations: {}", filePath);
  26. registry.addResourceHandler("/**").addResourceLocations("classpath:/META-INF/resources/","classpath:/resources/","classpath:/static/","classpath:/public/","file:" + filePath);
  27. }
  28. @Bean
  29. public FilterRegistrationBean<ChinesePathFilter> getChinesePathFilter() {
  30. ChinesePathFilter filter = new ChinesePathFilter();
  31. FilterRegistrationBean<ChinesePathFilter> registrationBean = new FilterRegistrationBean<>();
  32. registrationBean.setFilter(filter);
  33. return registrationBean;
  34. }
  35. @Bean
  36. public FilterRegistrationBean<TrustHostFilter> getTrustHostFilter() {
  37. Set<String> filterUri = new HashSet<>();
  38. filterUri.add("/onlinePreview");
  39. filterUri.add("/picturesPreview");
  40. filterUri.add("/getCorsFile");
  41. TrustHostFilter filter = new TrustHostFilter();
  42. FilterRegistrationBean<TrustHostFilter> registrationBean = new FilterRegistrationBean<>();
  43. registrationBean.setFilter(filter);
  44. registrationBean.setUrlPatterns(filterUri);
  45. return registrationBean;
  46. }
  47. @Bean
  48. public FilterRegistrationBean<TrustDirFilter> getTrustDirFilter() {
  49. Set<String> filterUri = new HashSet<>();
  50. filterUri.add("/onlinePreview");
  51. filterUri.add("/picturesPreview");
  52. filterUri.add("/getCorsFile");
  53. TrustDirFilter filter = new TrustDirFilter();
  54. FilterRegistrationBean<TrustDirFilter> registrationBean = new FilterRegistrationBean<>();
  55. registrationBean.setFilter(filter);
  56. registrationBean.setUrlPatterns(filterUri);
  57. return registrationBean;
  58. }
  59. @Bean
  60. public FilterRegistrationBean<BaseUrlFilter> getBaseUrlFilter() {
  61. Set<String> filterUri = new HashSet<>();
  62. filterUri.add("/index");
  63. filterUri.add("/");
  64. filterUri.add("/onlinePreview");
  65. filterUri.add("/picturesPreview");
  66. BaseUrlFilter filter = new BaseUrlFilter();
  67. FilterRegistrationBean<BaseUrlFilter> registrationBean = new FilterRegistrationBean<>();
  68. registrationBean.setFilter(filter);
  69. registrationBean.setUrlPatterns(filterUri);
  70. return registrationBean;
  71. }
  72. @Bean
  73. public FilterRegistrationBean<AttributeSetFilter> getWatermarkConfigFilter() {
  74. Set<String> filterUri = new HashSet<>();
  75. filterUri.add("/index");
  76. filterUri.add("/");
  77. filterUri.add("/onlinePreview");
  78. filterUri.add("/picturesPreview");
  79. AttributeSetFilter filter = new AttributeSetFilter();
  80. FilterRegistrationBean<AttributeSetFilter> registrationBean = new FilterRegistrationBean<>();
  81. registrationBean.setFilter(filter);
  82. registrationBean.setUrlPatterns(filterUri);
  83. return registrationBean;
  84. }
  85. }