拦截器无限循环重定向(Spring Boot)

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

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

情况二:配置排除拦截路径的时候不生效,下面说一下我在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版权协议,转载请附上原文出处链接和本声明。