Ich benutze Spring Security 3.0. Ich muss nur etwas Logik ausführen, bevor der Benutzer sich abmeldet.
Ist es möglich, dies zu erreichen, indem Sie die LogoutFilter
-Klasse von Spring Security überschreiben?
Ich benutze Spring Security 3.0. Ich muss nur etwas Logik ausführen, bevor der Benutzer sich abmeldet.
Ist es möglich, dies zu erreichen, indem Sie die LogoutFilter
-Klasse von Spring Security überschreiben?
Es gibt eine Vielzahl von Möglichkeiten, das zu tun. Ich werde Ihnen die zwei nennen, die ich in Betracht ziehen würde.
1) Erstellen Sie meinen eigenen Filter, der die Dinge tut, die ich brauche. Der Schlüsselpunkt hier ist, dass wenn Sie einen Filter erstellen, müssen Sie auch Spring Security mitteilen, ihn in die "Filterkette" einzufügen, die Kette von Filtern, die Ihre Anfragen durchlaufen, um Authentifizierungssachen zu erledigen. Überprüfen Sie diese Dokumentation, um zu erfahren, wie Sie Ihre Filter an der richtigen Stelle detaillierter einfügen können, aber es wird etwas Ähnliches aussehen wie
Denken Sie daran, dass Sie durch das Unterklassen von LogoutFilter immer noch einen benutzerdefinierten Filter erstellen, also gelten dieselben Regeln.
2) Wenn meine benutzerdefinierte Logik nicht streng vor dem Ausloggen des Benutzers, sondern auch kurz danach ausgeführt werden kann, erwägen Sie die Verwendung von SecurityContextLogoutHandler
(überprüfen Sie die Dokumentation im Abschnitt B.1.13), der Ihnen einen Ankerpunkt bietet, um benutzerdefinierte Logik auszuführen, wenn sich die Benutzer erfolgreich ausloggen.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.