Como redirecionar para a página inicial se o usuário acessa a página de login após ter feito o login?

Aqui está a minha configuração de segurança de primavera:

<http pattern="/auth/login" security="none" />
<http pattern="/auth/loginFailed" security="none" />
<http pattern="/resources/**" security="none" />

<http auto-config="true" access-decision-manager-ref="accessDecisionManager">
    <intercept-url pattern="/auth/logout" access="permitAll"/>
    <intercept-url pattern="/admin/**" access="ADMINISTRATIVE_ACCESS"/>
    <intercept-url pattern="/**" access="XYZ_ACCESS"/>

    <form-login
        login-page="/auth/login"
        authentication-failure-url="/auth/loginFailed"
        authentication-success-handler-ref="authenticationSuccessHandler" />
    <logout logout-url="/auth/logout" logout-success-url="/auth/login" />
</http>

oauthenticationSuccessHandler estende oSavedRequestAwareAuthenticationSuccessHandler garantindo que o usuário seja redirecionado para a página originalmente solicitada.

No entanto, desde/auth/login está marcado comosecurity="none", Não consigo redirecionar o usuário para a página inicial com êxito se ele acessa a página de login depois de ter efetuado login. Acredito que esse seja o direitoexperiência de usuário também.

Eu tentei o abaixo também, mas oPrincipal objeto é semprenull, presumivelmente por causa dasecurity="none" Atribuir novamente.

@RequestMapping(value = "/auth/login", method = GET)
public String showLoginForm(HttpServletRequest request, Principal principal) {
    if(principal != null) {
        return "redirect:/";
    }

    return "login";
}

questionAnswers(6)

yourAnswerToTheQuestion