用户登录系统后是否有办法更改网址?例如,如果我的登录网址为demo.xxx.com/login
,则在用户通过身份验证后,我希望将其更改为abc.xxx.com/dashboard
。 abc是用户组,在用户通过身份验证时确定。我的应用程序基于spring boot并使用spring security进行身份验证。
答案 0 :(得分:1)
最简单的方法是在spring security WebSecurityConfigurerAdapter bean中设置默认成功URL。如果使用XML配置,我相信这也可以配置,虽然我不确定如何离开。
@Configuration
@EnableWebSecurity
public class AppSecurityConfiguration extends WebSecurityConfigurerAdapter {
protected void configure( HttpSecurity http ) throws Exception {
http.formLogin()
.loginPage( "/login" )
.defaultSuccessUrl( "/dashboard" );
}
}
如果您需要更精细地控制重定向,您可以实现自己的身份验证成功处理程序并提供自定义重定向策略。
http.formLogin().successHandler( new SavedRequestAwareAuthenticationSuccessHandler() {
{
setRedirectStrategy( new RedirectStrategy() {
@Override
public void sendRedirect( HttpServletRequest request, HttpServletResponse response, String url ) throws IOException {
// Put your logic here for sending redirects
response.sendRedirect("https://xyx.mydomain.com/dashboard");
}
} );
}
} );