Ungültig spring security session
muss ich invalidate ( oder kick ) user-session. die Anwendung nur limit-user-login nur einen Benutzer pro container.
ich versuche zu nennen, removeSessionInformation von session-Registrierung, fertig zum freischalten der user. also der andere Benutzer kann sich mit dem gekickt session user name.
aber SessionContextHolder an, dass Benutzer, die schon gekickt ist noch. so haben Sie immer noch die gleiche Autorität zum Zugriff auf die geschützte Seite.
wie ungültig zu machen oder zu entfernen AUFTRAGGEBER SessionContextHolder aus der angegebenen session-Registrierung, Informationen?
ps : in meiner alten Bewerbung, ich gebe eine variable UserDomain (UserDetails), die halten HttpSession. und wenn Sie benötigen, um kick the user, habe ich nur entkräften HttpSession aus den angegebenen UserDomain. aber ich weiß nicht, wie es im Frühjahr (sein wahrscheinlicher zu entfernen AUFTRAGGEBER SessionContextHolder als HttpSession). die Umsetzung ist fast das gleiche wie SessionRegistryImpl tun im Frühjahr.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Möchten Sie vielleicht erwägen Spring Security-Concurrency Control. Dies konfigurieren Sie zum beschränken der Anzahl der gleichzeitigen sessions pro Benutzer und verfallen (kick) bestehende Sitzungen, wenn diese Zahl überschritten wird.
Spring Security Session Management
Dies ist ein Ausschnitt unserer Konfiguration (Feder 3):
Ich denke, dies ist der Weg, es zu tun:
Aus der
SecurityContext.setAuthentication(Authentifizierung)
Javadocs:SecurityContextHolder
von der aktuellen Anmeldung Benutzer-session. was ich brauche ist das entfernen derSecurityContextHolder
anderer Benutzer-session. können wir machen es im Frühling?Können Sie auch Folgendes tun, um deaktivieren Sie das SpringSecurity-Sitzung:
Dies ist ein Auszug aus meiner application-security.xml
versuchen, das hinzufügen der Zeile in Fettdruck, nachdem die maximale Anzahl Sitzungen