2010-11-25 10 views
4

Soweit ich verstehe, wenn der Benutzer Spring Security anmeldet die Sitzung ungültig und erstellt eine neue.
Wenn ich also von http mit einem eindeutigen Sitzungs-ID-Cookie komme, sollte Spring Security ein neues "sicheres" Cookie für die Sitzungs-ID setzen, das nur bei nachfolgenden HTTPS-Anfragen vom Browser zurückgesendet wird.
Was ich vermisse ist, wenn der "eingeloggte" Benutzer von https auf http wechselt, als dass ein sessionID-Cookie irgendwo als nicht-sicheres Cookie gespeichert sein muss, um den Überblick über die Sitzung zu behalten.
Ich verstehe nicht, wie Spring das schafft.
Nachdem der Benutzer angemeldet ist, wenn er zu http blättert, ist das Clear SessionID-Cookie das selbe wie das Secure SessionID und ist es dann für die Welt sichtbar? Jemand kann das lesen und die Sitzung entführen.
Ich verstehe nicht den Spring Security Flow kann mir jemand erklären, wie es funktioniert?
DankSpring Sicherheits-Cookies nach Benutzeranmeldung und Session Hijacking

Antwort

0

Seine beste nicht zu HTTP-und HTTPS-Sitzungen aus genau dem Grund, den Sie beschrieben, zu mischen. In der Tat scheint es, als würde sich das Einloggen über HTTPS und das Zurückfallen auf HTTP nicht als Arbeit erweisen (da der Browser das gesicherte Session-Cookie nicht sendet).

[...] Sitzungen unter HTTPS erstellt, für die die Sitzung Cookies als „sicher“ markiert sind, kann nicht anschließend unter HTTP verwendet werden. Der Browser sendet das Cookie nicht zurück an den Server und jeder Sitzungsstatus wird verloren (einschließlich der Sicherheit Kontextinformationen). Starten eine Sitzung in HTTP sollte zunächst als der Session-Cookie wird nicht funktionieren als sicher gekennzeichnet werden (Sie werden auch Spring Security Session-Fixation Schutz Unterstützung zu verhindern, dass es der Schaffung eine neue sichere Sitzung bei der Anmeldung deaktivieren, haben (Sie können jederzeit eine neue Sitzung selbst zu einem späteren Zeitpunkt erstellen.) Beachten Sie, dass zwischen HTTP und HTTPS zu wechseln ist keine gute Idee im Allgemeinen, da jede Anwendung, die HTTP überhaupt verwendet, anfällig für Menschen ist Um die Sicherheit zu gewährleisten, sollte der Benutzer auf Ihre Website unterzugreifenHTTPS und verwenden Sie es weiter, bis sie sich abmelden . Auch ein Klick auf einen HTTPS Link von einer Seite, auf die über HTTP zugegriffen wird, ist potenziell riskant.

Von http://static.springsource.org/spring-security/site/faq.html

Verwandte Themen