Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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 web应用程序在第二次登录后销毁第一次登录会话_Java_Security_Web - Fatal编程技术网

java web应用程序在第二次登录后销毁第一次登录会话

java web应用程序在第二次登录后销毁第一次登录会话,java,security,web,Java,Security,Web,我在处理通过多个浏览器选项卡多次登录java web应用程序时遇到了一个问题。场景如下所示: 步骤: 1.用户首次通过第一个浏览器选项卡使用用户id“abc”登录到应用程序 2.用户通过第二个浏览器选项卡使用用户id“cde”第二次登录到应用程序 3.此时,我可以使会话无效并将用户重定向回登录页面 HttpSession session=request.getSession(false); session.invalidate() 但是,如果用户A通过第二个浏览器选项卡使用用户id“cde”执行

我在处理通过多个浏览器选项卡多次登录java web应用程序时遇到了一个问题。场景如下所示:

步骤: 1.用户首次通过第一个浏览器选项卡使用用户id“abc”登录到应用程序 2.用户通过第二个浏览器选项卡使用用户id“cde”第二次登录到应用程序 3.此时,我可以使会话无效并将用户重定向回登录页面

HttpSession session=request.getSession(false); session.invalidate()

  • 但是,如果用户A通过第二个浏览器选项卡使用用户id“cde”执行第三次登录。他仍然能够使用第一个浏览器选项卡继续执行事务

  • 我想踢/阻止用户通过第一个浏览器选项卡进行任何活动。如何实现这一点?

    当您尝试第三次登录时,浏览器选项卡1似乎正在发送sessionId。如果您从浏览器cookie中清除sessionId,那么它将解决您的问题。

    我对您不了解,但是否要使连接到用户A的所有会话无效?无论如何,一种方法是使用某种缓存来存储用户的所有活动会话。然后,当您使一个会话无效时,您也会使该用户的所有会话无效。您还需要添加检查,以便在适当的位置根据此缓存检查会话。