Config.java 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package cn.efunbox.audio.config;
  2. import cn.efunbox.audio.aop.AdminInterceptor;
  3. import cn.efunbox.audio.aop.AllowOriginIntercepter;
  4. import cn.efunbox.audio.aop.AuthInterceptor;
  5. import cn.efunbox.audio.aop.IgnoreOptionsInterceptor;
  6. import org.springframework.context.annotation.Bean;
  7. import org.springframework.context.annotation.Configuration;
  8. import org.springframework.web.servlet.config.annotation.EnableWebMvc;
  9. import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
  10. import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
  11. /**
  12. * 用户权限验证拦截器
  13. * Created by yao on 17-9-29.
  14. */
  15. @Configuration
  16. @EnableWebMvc
  17. public class Config extends WebMvcConfigurerAdapter{
  18. /**
  19. * 直接采用new interceptor或Autowired注入拦截器会导致dao为null的错误
  20. * @return
  21. */
  22. @Bean
  23. AuthInterceptor authInterceptor(){
  24. return new AuthInterceptor();
  25. }
  26. @Bean
  27. AdminInterceptor adminInterceptor(){
  28. return new AdminInterceptor();
  29. }
  30. @Bean
  31. AllowOriginIntercepter allowOriginIntercepter(){
  32. return new AllowOriginIntercepter();
  33. }
  34. @Bean
  35. IgnoreOptionsInterceptor ignoreOptionsInterceptor(){
  36. return new IgnoreOptionsInterceptor();
  37. }
  38. @Override
  39. public void addInterceptors(InterceptorRegistry registry) {
  40. registry.addInterceptor(authInterceptor())
  41. .addPathPatterns("/audio/search","/audio/searchList","/audio/info/{audioId}","/album","/album/{albumId}")
  42. .excludePathPatterns("/device/**", "/error","/audio/*");
  43. registry.addInterceptor(adminInterceptor())
  44. .addPathPatterns("/**", "/device/update", "/device/delete")
  45. .excludePathPatterns("/device/**","/audio/info/{audioId}", "/error", "/admin/login", "/audio/search","/file/**","/audio/searchList","/statistics","/album","/album/{albumId}")
  46. //杭研开发接口
  47. .excludePathPatterns("/getTypeList","/getTypeContentList","/getContentDetail","/getContentChapterList","/getChapterDetail");
  48. registry.addInterceptor(ignoreOptionsInterceptor())
  49. .addPathPatterns("/**");
  50. registry.addInterceptor(allowOriginIntercepter())
  51. .addPathPatterns("/**");
  52. }
  53. // /**
  54. // * 允许跨域访问
  55. // * @param registry
  56. // */
  57. // @Override
  58. // public void addCorsMappings(CorsRegistry registry) {
  59. // registry.addMapping("/**")
  60. // .allowedOrigins("*")
  61. // .allowCredentials(true)
  62. // .allowedMethods("GET", "POST", "DELETE", "PUT", "OPTIONS")
  63. //// .allowedMethods("*")
  64. //// .allowedHeaders("*")
  65. // .maxAge(3600);
  66. // }
  67. }