在登录主页后重定向用户,并在Spring Security中抛出200而不是302,可以通过以下步骤实现:
configure(HttpSecurity http)
方法,并添加以下代码:http
.formLogin()
.loginPage("/login") // 设置登录页面的URL
.defaultSuccessUrl("/home", true) // 设置登录成功后的默认重定向URL
.successHandler(successHandler()) // 设置自定义的登录成功处理器
.permitAll();
在上述代码中,.defaultSuccessUrl("/home", true)
指定了登录成功后的默认重定向URL为"/home",并且第二个参数为true
,表示总是使用200状态码进行重定向。
successHandler()
,并实现AuthenticationSuccessHandler
接口。在该处理器中,重写onAuthenticationSuccess()
方法,并设置响应的状态码为200。public class CustomAuthenticationSuccessHandler implements AuthenticationSuccessHandler {
@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {
response.setStatus(HttpServletResponse.SC_OK); // 设置响应状态码为200
// 执行其他自定义操作
// ...
}
}
@Bean
注解的方法,用于创建自定义的登录成功处理器的实例。@Bean
public CustomAuthenticationSuccessHandler successHandler() {
return new CustomAuthenticationSuccessHandler();
}
action
属性应该为"/login"。通过以上步骤,当用户成功登录后,会重定向到"/home"页面,并且响应的状态码为200。
领取专属 10元无门槛券
手把手带您无忧上云