Meine Anwendung verwendet derzeit die Spring-Sitzung zusammen mit Redis als Back-End.
Ich habe in der offiziellen Dokumentation nach Spring Session gesucht, aber war nicht in der Lage zu finden, was das Standard-Session-Timeout bei Verwendung dieses Moduls ist.
Ich bin mir auch nicht sicher, wie ich dieses Standard-Timeout bei Bedarf ändern kann.
Kann jemand bitte beraten?
Die einfachste Methode zum Konfigurieren des Sitzungszeitlimits bei Verwendung des redis-Repositorys ist
%Vor% Die Sitzung läuft ab , wenn sie im Repository nicht mehr verfügbar ist.
Timeout kann mit setDefaultMaxInactiveInterval(int)
sowohl für RedisOperationsSessionRepository
als auch für MapSessionRepository
konfiguriert werden. Der Standardwert ist 30 Minuten .
Wenn Sie Springboot verwenden, wird der Wert ab Version 1.3 automatisch mit der Eigenschaft server.session.timeout
aus der Anwendungskonfiguration synchronisiert.
Beachten Sie, dass einer der Nachteile bei der Verwendung der Spring-Sitzung darin besteht, dass javax.servlet.http.HttpSessionListener
s nicht aufgerufen wird.
Wenn Sie auf Ereignisse zum Ablauf der Sitzung reagieren müssen, können Sie das SessionDestroyedEvent
-Anwendungsereignis Ihrer Spring-Anwendung abonnieren.
Tags und Links session-timeout spring-session