2010-10-07 180 views
2

我有一个Spring MVC应用程序,它不保护用事务处理的用户数据的更新。如何确保在Spring Security中不使用同一个帐户同时登录两个不同的人?

它假定只有一个用户在任何时候访问该帐户的帐户数据。

但是,如果两个用户使用相同的身份验证凭据登录,则理论上可能(尽管不太可能)在同一用户数据上对两个数据库更新进行重叠和冲突。

在Spring Security中有一种简单的方法来防止这种情况发生吗?

回答

2

在用户数据库中添加一个名为“登录”的列。如果设置了该值,则拒绝第二次登录。

+2

我宁愿这样做:用相同的凭据注销任何登录用户。否则在会话过期之前您将无法登录。 – BalusC 2010-10-07 15:15:50

0

Aaron Digulla的答案是最好的。 BalusC的建议并不好,因为如果有人窃取了您的登录凭证,那么他可以访问系统,合法用户将被注销。如果那个人的意思是邪恶的,那么他可以改变密码,合法用户不能再访问他/她的账户。

最好的方法是亚伦建议。

相关问题