2010-10-07 177 views
2

我有一個Spring MVC應用程序,它不保護用事務處理的用戶數據的更新。如何確保在Spring Security中不使用同一個帳戶同時登錄兩個不同的人?

它假定只有一個用戶在任何時候訪問該帳戶的帳戶數據。

但是,如果兩個用戶使用相同的身份驗證憑據登錄,則理論上可能(儘管不太可能)在同一用戶數據上對兩個數據庫更新進行重疊和衝突。

在Spring Security中有一種簡單的方法來防止這種情況發生嗎?

回答

2

在用戶數據庫中添加一個名爲「登錄」的列。如果設置了該值,則拒絕第二次登錄。

+2

我寧願這樣做:用相同的憑據註銷任何登錄用戶。否則在會話過期之前您將無法登錄。 – BalusC 2010-10-07 15:15:50

0

Aaron Digulla的答案是最好的。 BalusC的建議並不好,因爲如果有人竊取了您的登錄憑證,那麼他可以訪問系統,合法用戶將被註銷。如果那個人的意思是邪惡的,那麼他可以改變密碼,合法用戶不能再訪問他/她的賬戶。

最好的方法是亞倫建議。

相關問題