前言:当遇到拦截器无限循环重定向这种问题的时候,一般都是拦截器设置错了
情况一:没有配置排除拦截路径,就是说全部路径都拦截了,导致一直重定向。
情况二:配置排除拦截路径的时候不生效,下面说一下我在spring boot使用拦截器遇到的坑。
错误写法:
//添加拦截器
@Override
public void addInterceptors(InterceptorRegistry registry) {
WebMvcConfigurer.super.addInterceptors(registry);
// addPathPatterns 用于添加拦截规则
// excludePathPatterns 用户排除拦截
LoginInterceptor loginInterceptor = new LoginInterceptor();
registry.addInterceptor(loginInterceptor).addPathPatterns("/admin/*");
registry.addInterceptor(loginInterceptor).excludePathPatterns("/admin/index","/admin/login","/css/**","/js/**");
}
正确写法:
//添加拦截器
@Override
public void addInterceptors(InterceptorRegistry registry) {
WebMvcConfigurer.super.addInterceptors(registry);
// addPathPatterns 用于添加拦截规则
// excludePathPatterns 用户排除拦截,要连着写,要不然不生效
LoginInterceptor loginInterceptor = new LoginInterceptor();
registry.addInterceptor(loginInterceptor).addPathPatterns("/admin/*").excludePathPatterns("/admin/index","/admin/login","/css/**","/js/**");
总结:添加拦截和排除拦截要连着写
版权声明:本文为weixin_38802061原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。