You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Security未授权用户无法访问登录页,陷入重定向循环

自定义登录表单引发Spring Security重定向循环问题

在Spring Security中配置自定义登录表单时,浏览器虽能重定向到目标URL /showMyLoginPage,但提示“页面未正确重定向”,无法正常显示登录页面。通过浏览器F12网络面板观察到,浏览器在反复请求该登录页URL,推测是Spring Security检测到用户未授权后,持续重定向至登录页,最终形成了重定向循环。

移除loginPage("/showMyLoginPage")配置后,重定向问题消失,但此时系统会使用Spring Security默认登录页,不符合自定义需求。

请求响应无有效内容,相关代码如下:

安全配置类代码

@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {    
    http
        .authorizeHttpRequests()
            .anyRequest().authenticated()
            .and()
        .formLogin()
            .loginPage("/showMyLoginPage")
            .permitAll();

    return http.build();
}

控制器代码

@Controller
public class MainController {
    
    @RequestMapping("/")
    public String testMapping()
    {
        return "home";
    }
    
    @RequestMapping("/showMyLoginPage")
    public String loginPage()
    {
        return "users-login";
    }
}

Spring MVC配置类

@Configuration
@EnableWebMvc
@ComponentScan("com.user.springsecuritydemo")
public class MainConfig implements WebMvcConfigurer {

    @Bean
    InternalResourceViewResolver configuInternalResourceViewResolver()
    {
        return new InternalResourceViewResolver("/WEB-INF/view/", ".jsp");
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) 
    {
        registry
          .addResourceHandler("/resources/**")
          .addResourceLocations("/resources/"); 
    }
}

DispatcherServlet初始化类

public class SpringMVCDispatcherServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

    @Override
    protected Class<?>[] getRootConfigClasses() 
    {
        return null;
    }

    @Override
    protected Class<?>[] getServletConfigClasses() 
    {
        return new Class[] { MainConfig.class };
    }

    @Override
    protected String[] getServletMappings() 
    {
        return new String[] { "/" };
    }
}

调试日志显示重定向循环相关记录,请求响应无有效信息。

内容的提问来源于stack exchange,提问作者GNU-foot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 10:40:17