1. 类似如图所示,新增一个免校验放行路径。出现免登录失败,走了adminInterceptor拦截器
public class MvcConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(adminInterceptor)
# 定义配出某些地址 bu被拦截
.excludePathPatterns("/profile/**")
}
}
2.原因:
excludePathPatterns方法是排除访问路径,但是当你排除的url路径在项目中并不存在的时候,springboot会将路径编程/error,从而无法进行排除.
3.我想的解决方案:
1.新增一个controller,路由是/profile。因为他是放行/profile/** 验证失败!
2.拦截器内拦截/error, return true放行,结果可行。如下图所示:
3.最终解决, 新增/error放行。 :
.excludePathPatterns("/error")
放行/error即可!不需要在拦截器进行放行,直接对于当前服务不存在的路由,进行放行。
spring框架对于不存在路由地址自动转为/error, 那就放行/error,即可解决!