我在 eclipse 中使用 Tomcat 7.0、Spring 4.0.2、Web Module 3.0 作为我的 Web 应用程序。我的应用程序中有一项要求,即一个用户不得允许从两个不同的客户端登录。除此之外,我还需要考虑this .
我能想到的解决方案:
--> 在应用级别声明一个静态集。
--> 每次检查之前检查用户名是否包含在该Set中,如果包含则不允许登录。
--> 每次登录Set后,在Set中添加用户名。
--> 每次从设置注销后删除用户名。
但我无法想象该解决方案在所有情况下都会失败。我认为当用户直接关闭浏览器时,这将不起作用。请帮助找出所有场景以及可以处理所有场景的正确解决方案。提前致谢。
最佳答案
Spring Security 开箱即用地支持这一点。您可以迁移您的身份验证过程以使用 Spring Security 吗?
请参阅下面的第 2.3.3 节“并发 session 管理”:
http://docs.spring.io/spring-security/site/docs/3.0.x/reference/springsecurity-single.html
关于java - 如何在 Java Web App 中限制每个用户一次只能进行一个 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23678176/