Ich benutze Frühling/Frühling-Sicherheit 3.1 und möchte etwas unternehmen, wenn der Benutzer abmeldet (oder wenn die Sitzung abgelaufen ist). Ich habe es geschafft, die Aktion zum Abmelden auszuführen, aber für das Session-Timeout kann ich nicht funktionieren.Abmelden/Sitzung Timeout mit Feder Sicherheit fangen
In web.xml habe ich nur den ContextLoaderListener angegeben (kann das das Problem sein?) Und natürlich die DelegatingFilterProxy.
Ich benutze die Auto-Konfiguration wie folgt.
Der Abmeldehandler wird aufgerufen, wenn der Benutzer auf Abmelden klickt, wodurch einige Aufrufe an eine Datenbank erfolgen.
Aber wie gehe ich mit dem Session-Timeout ???
Eine Möglichkeit, dies zu umgehen, wäre, den Benutzernamen in die Sitzung zu injizieren, wenn sich der Benutzer anmeldet und dann einen normalen httpsessionlistener verwendet und dasselbe bei Session-Timeout tut.
Gibt es einen ähnlichen Weg mit Feder Sicherheit, so dass, wenn Frühling entdeckt, dass die Sitzung zu Timeout ist, kann ich dort einhaken, Zugriff auf die Authentifizierung und holen Sie die UserDetails von dort und machen die Aufräumarbeiten.
Aus meiner Sicht ist dies die bessere Lösung. Ich empfehle dringend, dies zu verwenden, wie ich es tat. Danke John. Btw: Damit sind auch "normale" Logouts möglich! –
Die hier erwähnte Sitzung bei der Verwendung von 'Spring Security' entspricht der HTTPSession oder handelt es sich um eine Spring Security-Sitzung? Die neue 'Spring Session' Komponente scheint eine Lösung zu bieten. Http://docs.spring.io/spring-session/docs/current/reference/html5/#api-redisoperationssessionrepository-sessiondestroyedevent – yathirigan
@yathirigan Nicht sicher was du unter "Session of Spring Security" meinst. Spring Security verwendet eine HTTP-Sitzung, also ist es im Grunde dasselbe. – John29