首页 > 解决方案 > 在同一浏览器中保持用户会话以做出反应

问题描述

我正在开发一个遵循双重用户角色类型的网络应用程序:Admin and Investors. 我需要禁用两个用户(无论是admin type还是investor type)同时登录一个网站,该网站在同一个浏览器中打开但不同的选项卡。

无论他们的角色类型如何,一次都可以登录user A(admin)user B (Investor)登录。我为此目的使用 localStorage,为管理员和投资者存储两个不同的键名。

我不熟悉以这种方式处理会话。此外,我的代码非常大且嵌套,因此我无法将代码段粘贴到此处。

即使是关于我如何遵循这种方法的任何帮助,都将是可观的。

标签: reactjssession

解决方案


在 Web 应用程序的客户端处理会话有不同的方法,例如 cookie 和本地存储。在您的情况下,我认为您应该将您的应用程序用户类型和会话 ID 存储在本地存储中,如下所示:

s_id: admin_54759eb3c090d83494e2d80494e2d80

因此,在登录之前,应用程序将检查本地存储中的 s_id 可用性。然后在您的应用程序登录流程中,您可以决定注销以前的用户并替换新的会话 ID,或者只是阻止新的登录。

但我宁愿使用cookies。一个好处可能是设置会话的到期时间。欲了解更多信息,请查看此处


推荐阅读