reactjs - 在同一浏览器中保持用户会话以做出反应
问题描述
我正在开发一个遵循双重用户角色类型的网络应用程序:Admin and Investors
. 我需要禁用两个用户(无论是admin type
还是investor type
)同时登录一个网站,该网站在同一个浏览器中打开但不同的选项卡。
无论他们的角色类型如何,一次都可以登录user A(admin)
或user B (Investor)
登录。我为此目的使用 localStorage,为管理员和投资者存储两个不同的键名。
我不熟悉以这种方式处理会话。此外,我的代码非常大且嵌套,因此我无法将代码段粘贴到此处。
即使是关于我如何遵循这种方法的任何帮助,都将是可观的。
解决方案
在 Web 应用程序的客户端处理会话有不同的方法,例如 cookie 和本地存储。在您的情况下,我认为您应该将您的应用程序用户类型和会话 ID 存储在本地存储中,如下所示:
s_id: admin_54759eb3c090d83494e2d80494e2d80
因此,在登录之前,应用程序将检查本地存储中的 s_id 可用性。然后在您的应用程序登录流程中,您可以决定注销以前的用户并替换新的会话 ID,或者只是阻止新的登录。
但我宁愿使用cookies。一个好处可能是设置会话的到期时间。欲了解更多信息,请查看此处。
推荐阅读
- javascript - 如果为空,则反应表单上的角度验证应打开或关闭,但如果输入为空,则不会切换
- android - Google 地图应用可在 Android 9.0 上运行,但不能更低
- c# - 从 C# 打开电池弹出窗口
- typo3 - 如何在德语页面树中显示英语菜单,其中德语是 TYPO3 的默认语言?
- angularjs - 如何从离子4中的数组中的数组中删除项目
- python - 如何遍历具有多个条件的多个数据集?
- javascript - React botstrap 日期选择器 - 自定义
- codemirror - 使用replaceWith参数的代码镜像markText方法不起作用
- html - 如果选择了单选按钮,则需要输入字段
- flutter - 如何使单选按钮文本可点击?