@Configuration public class InterceptorConfig extends WebMvcConfigurationSupport { @Override protected void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/swagger-ui/**") .addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/"); super.addResourceHandlers(registry); } @Override protected void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(jwtInterceptor()) .addPathPatterns("/**") .excludePathPatterns("/user/login", "/user/register", "/**/export", "/**/import", "/file/**") .excludePathPatterns("/swagger**/**", "/webjars/**", "/v3/**", "/doc.html"); super.addInterceptors(registry); } @Bean public JwtInterceptor jwtInterceptor() { return new JwtInterceptor(); } }
时间: 2023-06-20 19:09:05 浏览: 200
继承WebMvcConfigurationSupport后自动配置不生效及如何配置拦截器
这是一个Java Spring Boot项目的拦截器配置类。在这个类中,我们首先重写了`addResourceHandlers()`方法来添加静态资源的处理器,这里是Swagger UI的资源,以便我们可以访问Swagger UI页面。
然后,我们重写`addInterceptors()`方法,并添加了一个自定义的JwtInterceptor拦截器。该拦截器将会拦截所有的请求(除了一些特定的排除路径),并检查请求头中是否包含了JWT Token,如果没有,则拒绝请求。这种方式可以保证只有经过认证的用户才能够访问我们的API接口。
最后,我们通过使用`@Bean`注解将JwtInterceptor类实例化为一个Bean。这样,我们就可以在其他地方通过依赖注入的方式来使用该拦截器了。
阅读全文