前言:当遇到拦截器无限循环重定向这种问题的时候,一般都是拦截器设置错了

情况一:没有配置排除拦截路径,就是说全部路径都拦截了,导致一直重定向。

情况二:配置排除拦截路径的时候不生效,下面说一下我在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/**\");

总结:添加拦截和排除拦截要连着写 

 

收藏 打印