Ich kann eine benutzerdefinierte Anmeldeseite mit Spring Security 3.2.4 verwenden, aber nach der Migration mit dem folgenden Code unter Verwendung von 4.0.0 sehe ich ein generisches Login-Formular anstelle meines benutzerdefinierten:
%Vor%Ich habe auch versucht, Debug-Logging für die verschiedenen Spring-Klassen zu aktivieren. Ich setze es auf meinen benutzerdefinierten authSuccessHandler, aber ich sehe keine Ausgabe von ihm. Kein Glück bei der Suche auf SO oder Google.
Gibt es etwas, das mit dieser Konfiguration nicht kompatibel ist?
Aktualisierung:
Ich verwende Apache Tiles auch so:
%Vor%Und Folgendes verwenden:
%Vor% Spring Security 3.x verwendete spring_security_login
als Standardanmelde-URL ( source
: offizielle Dokumentation ). Dies könnte auf einen benutzerdefinierten Wert als <security:form-login login-page="/login">
und auf einen Controller zum Rendern einer benutzerdefinierten Seite eingestellt werden.
Spring Security 4.x hat spring_security_login
abgebrochen und als Standard-Anmelde-URL zu login
gewechselt ( source
: offizieller Spring Security 4.x-Migrationsleitfaden ). Daher wird die URL login
jetzt zur Standard-Spring Security-Infrastruktur weitergeleitet, die die standardmäßige, automatisch generierte Anmeldeseite anzeigt.
Das Problem ist einfach, wenn Sie JSP als View-Rendering-Technologie verwenden. Benennen Sie Ihre Anmeldeseite einfach in login.jsp
um, legen Sie sie im Stammordner der Seitenhierarchie ab und Spring Security wird sie automatisch übernehmen. Wenn Sie JSP nicht verwenden, müssen Sie einen anderen login-page
-Wert verwenden (vielleicht signin
anstelle von login
und dann auch Ihre Controller-Zuordnung ändern.
Beachten Sie, dass sich die standardmäßige Abmelde-URL auch in 4.x geändert hat. Wenn Sie eine benutzerdefinierte Logik für die Abmelde-URL erstellt haben, überprüfen Sie diese ebenfalls.
Sehen Sie sich den offiziellen Migrationsleitfaden an, da sich in 4.x viele Dinge geändert haben.
Tags und Links java spring-security