Config.java 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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}")
  42. .excludePathPatterns("/device/**", "/error");
  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");
  46. registry.addInterceptor(ignoreOptionsInterceptor())
  47. .addPathPatterns("/**");
  48. // registry.addInterceptor(allowOriginIntercepter())
  49. // .addPathPatterns("/**");
  50. }
  51. // /**
  52. // * 允许跨域访问
  53. // * @param registry
  54. // */
  55. // @Override
  56. // public void addCorsMappings(CorsRegistry registry) {
  57. // registry.addMapping("/**")
  58. // .allowedOrigins("*")
  59. // .allowCredentials(true)
  60. // .allowedMethods("GET", "POST", "DELETE", "PUT", "OPTIONS")
  61. //// .allowedMethods("*")
  62. //// .allowedHeaders("*")
  63. // .maxAge(3600);
  64. // }
  65. }