程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何停止浏览器之间的选项卡共享会话?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何停止浏览器之间的选项卡共享会话??

开发过程中遇到如何停止浏览器之间的选项卡共享会话?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何停止浏览器之间的选项卡共享会话?的解决方法建议,希望对你解决如何停止浏览器之间的选项卡共享会话?有所启发或帮助;

成功登录后,在sessionStorage.setItem(’userID’,userID)中输入一些值,当用户打开新标签页并尝试登录时,请检查sessionStorage.getItem(’userID’)是否为null(这意味着它是一个新标签页)/重定向到登录页面。

会话存储特定于选项卡,并且不同选项卡之间不共享数据。会话存储在现代浏览器中运行。

检查此@L_419_0@以获取详细信息

尝试下面的代码

<script>

  if(typeof(Storage) !== "undefined") {
      sessionStorage.setItem("uniqueIDSessionStorage", "xyz");
  }
</script>


sessionStorage.getItem('uniqueIDSessionStorage') // this will be a tab specific you will not get xyz for other tabs.

1)检查sessionStorage.getItem(’uniqueIDSessionStorage’)是否不为null,如果null表示新的标签页和新的用户。

2)在服务器端始终存储会话属性,如下面的代码

 session.setAttribute("userID"+UniqueValuePerUser,userID);

3)这样,您可以使用单个会话对象进行多次登录,因为每个用户密钥都是唯一的。

4)在请求参数中以某种方式传递sessionStorage值服务器端。一种方法是发送url或隐藏在输入中的某处。

5)现在,如果您从选项卡中获得了12345的值。然后使用以下代码从会话中获取详细信息

String uniqueID= request.getParameter("uniqueID"); // value will be 12345
session.getAttribute("userID"+uniqueID);

如果从选项卡中获得45678的值,则

String uniqueID= request.getParameter("uniqueID"); // value will be 45678
session.getAttribute("userID"+uniqueID) // and other details from session using unique ID;

6)这样,在单个会话中使用唯一密钥可以实现多次登录,但是如果一个注销使会话无效,则其他用户也将被注销,因为会话对象是具有唯一密钥的对象。

7)从会话中删除该特定密钥,而不是使会话无效。

session.removeAttribute("userID"+uniqueID);

解决方法

如何 不在 多个浏览器选项卡之间共享会话?

我在JSP / Servlet应用程序中使用SpringSecurity,我想知道“我们如何通过SpringSecurity实现行为,即只要用户更改浏览器选项卡就被迫再次登录?”

免责声明 问题类似于 此问题)和此问题,但是由于两个问题都太旧(即4,7岁),所以我确定今天必须有某种方法可以实现,不是吗?

大佬总结

以上是大佬教程为你收集整理的如何停止浏览器之间的选项卡共享会话?全部内容,希望文章能够帮你解决如何停止浏览器之间的选项卡共享会话?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: