我正在开发 Spring 框架,我想编写一个拦截器,我最终编写了它并且它工作正常。 但在某一时刻,我不希望我的拦截器拦截用户想要注销且 session 无效时的请求。但事情并没有按照我的预期发生。
我通过扩展 WebMvcConfigurerAdapter 并利用 addInterceptors 方法来添加拦截器,下面是代码。
public void addInterceptors(InterceptorRegistry registry) {
super.addInterceptors(registry);
registry.addInterceptor( loggerInterceptor );
registry.addInterceptor( authenticationInterceptor ).excludePathPatterns("/invalidate");
}
我在这里做错了什么吗? exceptPathPatterns -> 我的 URL 以/invalidate 结尾。所以请指导我如何设计正确的模式。
最佳答案
您是否尝试过以下方法?
@Configuration
@EnableWebMvc
public class MyWebConfig extends WebMvcConfigurerAdapter
{
@Override
public void addInterceptors(InterceptorRegistry registry)
{
registry.addInterceptor(new MyCustomInterceptor())
.addPathPatterns("/**")
.excludePathPatterns("/foo/**");
}
}
引用此java doc为了更好地理解。
关于java - Spring、Interceptor的extractPathPatterns功能无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21228447/