只是一個關於春季安全和會議失效的問題。春季安全會議無效通過註銷
當ConcurrentSessionControlStrategy會話失效時,通過調用removeSessionInformation方法從SessionRegistry中刪除會話,但是當通過手動註銷使會話失效時,HttpSession失效,但沒有調用SessionRegistry將條目從那裏。
我已經添加了HttpSessionEventPublisher作爲捕獲HttpSessionDestroyedEvent事件,但再次沒有調用SessionRegistry的偵聽器。
我已經通過創建我自己的LogoutFilter實現並添加了一個處理程序來手動調用removeSessionInformation,但我希望能夠使用標準的Spring註釋(如果可能)。 (NB我不能使用標準註銷標籤的success-handler-ref字段,因爲會話已經失效,所以我不能訪問會話ID)
有沒有我在這裏丟失的東西或是這只是春天錯過的東西?
順便說一句,這是使用Spring Security 3.1.0。
什麼是你想怎麼辦? – NimChimpsky
我有一個應用程序只允許每個用戶一個會話。如果用戶已經有會話,則在登錄時提示用戶是否要終止觸發併發策略的活動會話並從會話註冊表中刪除會話。用戶也可以自己註銷,這將觸發註銷過濾器,使其HTTP會話無效,但不會從存儲庫中刪除會話。正如我所說我有一個解決方案,只是好奇如果有沒有自定義logoutFilter這樣做的方法。 – Rene