【问题标题】:Different tabs of the same domain use separate local storage同一域的不同选项卡使用单独的本地存储
【发布时间】:2019-12-06 13:00:15
【问题描述】:

我试图让同一域的不同选项卡不共享local storage

原因是我需要允许多个用户在不同的选项卡上进行身份验证。身份验证是通过存储在本地存储中的JWT Token 来实现的。

目前我想到的解决方法如下:

  • 在隐身模式下打开一个新标签页(遗憾的是在技术上不可行)
  • 使用诸如across-tabs 之类的库并通过父子通信告诉子选项卡使用会话存储而不是本地存储

有没有办法让例如父选项卡打开子选项卡并让他使用“非同步”存储?如果不是,你会使用什么策略?

【问题讨论】:

  • I would need to allow multiple users to be authenticated on different tabs 首先为什么这是一个要求?让我们确保这不是XY problem
  • @ChrisG 我试图解释为什么我试图保留不同版本的本地存储只是为了提供一些上下文:)
  • 这不是我问的;为什么需要多个用户在同一个浏览器中进行身份验证?
  • 你读过这个帖子吗? stackoverflow.com/questions/4201239/….
  • @ChrisG 对不起,您能帮我理解多用户身份验证的原因吗?我确信这不是 XY 问题,因为多用户身份验证只是一个示例……它可能是其他任何东西。我只是想找出区分相同域选项卡之间本地存储的方法

标签: javascript vue.js local-storage session-storage


【解决方案1】:

也许您只是在localStorage 的键中添加了一些与用户相关的信息(如 id)?这将允许为多个用户保留信息。

请注意,它不会将信息设为私密,但如果您只需切换选项卡即可获得相同的信息,似乎您不需要它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 2021-04-03
    • 2018-03-27
    • 2013-02-23
    • 2019-02-27
    • 2012-12-10
    相关资源
    最近更新 更多