2010-11-25 155 views
4

據我所知,當用戶登錄Spring Security時,會話將失效並創建一個新的會話。
所以,如果我來自HTTP與明確sessionID cookie春季安全應該設置一個新的sessionID'安全'的cookie,將由瀏覽器發回,只有在後續的https請求。
我所缺少的是當登錄用戶從https切換到http時,必須將sessionID cookie存儲在某個地方作爲非安全cookie來跟蹤會話。
我不明白Spring如何管理它。
用戶登錄後,如果他瀏覽到http然後是明確sessionID cookie與安全SessionID一樣,並且它是否可見的世界?有人可以閱讀並劫持會議。
我不明白春季安全流可以有人解釋我是如何工作的?
謝謝Spring用戶登錄和會話劫持後的安全cookie

回答

0

最好不要混合HTTP和HTTPS會話,因爲你描述的原因。事實上,它似乎通過HTTPS登錄,然後回到HTTP不會工作(因爲瀏覽器不會發送安全會話cookie)。

[...]的會話創建 下HTTPS,爲此,會話 cookie被標記爲「安全」,則不能 隨後下HTTP使用。 瀏覽器不會將cookie返回 到服務器,任何會話狀態 都將丟失(包括安全 上下文信息)。開始在HTTP一個 會議首先應爲 工作會話cookie不會被標記爲 安全(你也必須禁用 Spring Security的會話固定 保護的支持,以防止它 上登錄 創建一個新的安全會話(你總是可以在後面創建一個新的會話 )請注意,在HTTP和HTTPS之間切換的 通常不是一個好主意,因爲任何使用HTTP的 應用都是 容易受到人爲干擾,爲了確保安全,用戶 應該開始訪問您的網站 HTTPS並繼續使用它,直到它們退出 。即使點擊通過HTTP訪問的頁面上的HTTPS 鏈接,也是潛在風險的 。

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