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

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

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

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

 

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐