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 immernull
vermutlich 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";
}