我正在开发一个java应用程序,我的要求是 - 用户可以从不同的设备登录,但如果他在一台设备上注销,那么用户的id将自动从其他设备注销。我是通过servlets和session执行此操作但无法解决。
感谢。
答案 0 :(得分:3)
假设您有3台设备:
1. Desktop
2. Mobile
3. iPad
您的应用程序有一个监听器,它不断查看数据库中的表。
当用户从任何一个设备注销时,您将在数据库中将状态设置为LOGOUT。自动其他设备监听器将知道并执行相应设备的注销代码。
样本设计:
对于实时,在从任何一台设备注销时推送JMS消息,并让其他设备订阅该主题。
答案 1 :(得分:0)
维护已打开会话的用户记录(通过DDBB中的标记,在用户表中,例如),并在用户执行任何操作时检查该标记...
当用户登录到应用程序的任何设备时,将该标志设置为true,并且如果他在任何标记为false的设备集中关闭会话,并在他尝试在另一个打开的会话中执行任何其他操作时返回登录错误(将会在任何其他设备中)...
它非常简单的解决方案,它每个请求只添加一个新的(简单)查询,所以我认为这不是那么糟糕......