簡體   English   中英

通過並發登錄替換警報用戶到會話

[英]Alert user to session being replaced by concurrent login

我們有一個Spring安全應用程序,具有非常標准的設置。 目前我們只允許每個主體使用1個會話,在第一個會話注銷或過期之前拒絕相同主體的其他登錄(maximumSessions = 1,excpeptionIfMaximumExceeded = true)。

我想更改此設置,以便當主體第二次使用當前活動的登錄在另一個會話上登錄時,第一個會話將被無效/替換。 使用提供的spring安全性並發會話控制策略很容易實現,但我無法確定如何提醒用戶。 更換用戶的會話時,注銷處理程序會使會話失效。 下一個請求將獲得重定向到登錄頁面,並在查詢字符串上顯示錯誤代碼。 但是,如果獲得此重定向的請求是圖像或其他非編程調用,我無法處理此問題。

看起來我需要將用戶置於中間狀態,在那里他們有一個會話但它已經過期,如果他們不想更換他們原來的會話,他們需要重新登錄。 但是我沒有看到這樣做的好方法。

在某個地方有這樣的設置示例嗎?

您是否考慮過在javascript中設計一個輪詢機制,以便在用戶的會話即將失效時提醒用戶? 通過這種方式,他們將知道他們的會話無效,並且可能有機會刷新它以防部分填寫表單或文本區域。

這也可以從登錄端工作。 您可以在登錄后添加一個步驟,如果他們有另一個會話處於活動狀態並讓他們驗證他們想要使其無效。

似乎在步驟之間是不必要的,因為通常認證應該是布爾值。 要么他們被認證,要么他們不是。 中間區域可能更難處理所有情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM