如何使用Spring-security阻止多次登录?

时间:2011-11-08 06:58:46

标签: spring-security

当同一用户同时使用不同的浏览器/机器登录时,允许用户使用相同的凭据登录

使用Spring安全性并发会话控制,可以通过security.xml文件中的以下配置轻松处理:

<concurrent-session-control max-sessions="1" exception-if-maximum-exceeded="true"/>

问题:成功登录后,如果用户关闭浏览器窗口而不点击退出按钮,则会阻止用户从任何其他浏览器/计算机再次登录。他可能会受到会话超时间隔的限制。

1 个答案:

答案 0 :(得分:2)

  

成功登录后,如果用户关闭浏览器窗口而不点击退出按钮,则会阻止用户从任何其他浏览器/计算机再次登录

是。这就是<concurrent-session-control max-sessions="1"的作用。

如果您不希望用户被锁定,则需要设置max-sessions="2"

成功登录后,您可以设置永久存在的Cookie并识别用户浏览器。因此,当您获得具有不同cookie但具有相同用户名的登录请求时,您可以使之前的用户会话无效并让新用户进入。