Wie kann ich zur Startseite umleiten, wenn der Benutzer nach dem Anmelden auf die Anmeldeseite zugreift?

Hier ist meine Frühjahrssicherheitskonfiguration:

<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>

DasauthenticationSuccessHandler erweitert dieSavedRequestAwareAuthenticationSuccessHandler Stellen Sie sicher, dass der Benutzer auf die von ihm ursprünglich angeforderte Seite umgeleitet wird.

Seitdem jedoch/auth/login ist markiert alssecurity="none"Ich kann den Benutzer nicht erfolgreich auf die Startseite umleiten, wenn er nach dem Anmelden auf die Anmeldeseite zugreift. Ich glaube, das ist richtigBenutzererfahrung auch.

Ich habe das unten auch probiert aber dasPrincipal Objekt ist immernullvermutlich wegen dersecurity="none" Attribut erneut.

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

    return "login";
}

Antworten auf die Frage(6)

Ihre Antwort auf die Frage