Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中,如果用户从一个设备上单击注销,则从所有设备上注销用户_Java - Fatal编程技术网

在java中,如果用户从一个设备上单击注销,则从所有设备上注销用户

在java中,如果用户从一个设备上单击注销,则从所有设备上注销用户,java,Java,我正在开发一个java应用程序,在这里,我的要求是-用户可以从不同的设备登录,但如果他在一个设备上点击“注销”,那么用户的id将自动从其他设备注销。我通过servlet和会话来实现这一点,但无法解决 谢谢。维护已打开会话的用户记录(例如,通过DDBB中的标志,在用户表中),并在用户执行任何操作时检查该标志 当用户登录到应用程序的任何设备时,将该标志设置为true,如果他在任何设备中关闭会话,则将该标志设置为false,并在他尝试在另一个打开的会话中执行任何其他操作时返回登录错误(将在任何其他设备

我正在开发一个java应用程序,在这里,我的要求是-用户可以从不同的设备登录,但如果他在一个设备上点击“注销”,那么用户的id将自动从其他设备注销。我通过servlet和会话来实现这一点,但无法解决


谢谢。

维护已打开会话的用户记录(例如,通过DDBB中的标志,在用户表中),并在用户执行任何操作时检查该标志

当用户登录到应用程序的任何设备时,将该标志设置为true,如果他在任何设备中关闭会话,则将该标志设置为false,并在他尝试在另一个打开的会话中执行任何其他操作时返回登录错误(将在任何其他设备中)


这是一个非常简单的解决方案,每个请求只添加一个新的(简单的)查询,所以我认为这还不错……

假设您有3台设备:

1. Desktop
2. Mobile
3. iPad
您的应用程序有一个监听器,它不断地查看数据库中的表

当用户从任何一个设备注销时,您将在数据库中将状态设置为注销。其他设备侦听器将自动了解并执行相应设备的注销代码

样本设计:



要实现实时性,请在从任何一台设备注销时推送JMS消息,并让其他设备订阅该主题。

维护单个会话?如果我是开发人员,我会在容器上维护特定用户的会话列表。是否可以在不同的设备上维护单个会话。如果可以,那么如何维护?不。这很奇怪,您不能。看看我评论的第二部分,所以。。告诉我它将如何通过不同的会话发生?正如我看到的,当用户登录应用程序时,会为每个用户创建一个新的会话。谷歌确实提供了“从所有设备注销”功能!)