允许同一用户在不同数量的设备上多次登录以及如何处理会话
Allow same user multiple login on different number of devices and how to deal with sessions?
我正在构建一个带有一些php,mysql,nodejs,socketio的聊天应用程序。
我想允许用户从无论多少数量的设备登录。比如。Facebook,你正在看哪个屏幕并不重要。它们都反映了最新的变化。现在测试了它,它以这种方式工作。如果我打开通知,该号码会消失在不同设备上的同一页面上。
我的猜测 - 并开始构建时考虑到这个 iedea - 是当用户第一次登录时为每个用户创建一个房间,并且来自同一用户的任何后续登录也会添加到该房间,以便可以轻松地将更改广播到房间。
所有浏览器都知道多次登录,因为我向房间发送了一条 soclet-message 设置了一个变量 - multilogin- 以便它知道还有更多。还需要查看用户何时单击注销按钮,它会发送该信息。如果它是唯一登录的,它应该杀死会话,将用户设置为离线。在一台设备上执行的操作,将其广播给房间中的其他成员等。
似乎合乎逻辑?
到目前为止它有效,但我不确定此设置的会话部分。
php 中的逻辑 - 继承自聊天的原始构建 - 检查用户登录以查看用户是否已登录,如果是,它首先销毁现有会话,然后发送 loggout 命令 - 我现在阻止当 multilogin 参数一起发送时 - 到另一个浏览器。
我现在的问题是,对会议采取什么合乎逻辑的方法?
我在脑子里玩弄一些想法,然后我想,让我们在互联网上看看这个主题。
一个想法可能是,只有第一个登录才能创建会话,并通过将 id 发送给其他人来共享会话,以便他们可以被识别为同一用户。
这是人们建议的方法吗?
找到了一个简单的解决方案,让每个具有相同登录用户的设备获取一个新的会话 ID,该 ID 将发送给其他人(套接字消息到房间),以便他们的会话 ID 变得相同以向服务器进行身份验证。会话 ID 已保存到足以用于此目的。
- 允许同一用户在不同数量的设备上多次登录以及如何处理会话
- 当尝试登录instagram时,带有Selenium的Phantomjs不处理iframe Java脚本
- 使用过期jwt处理自动登录
- 处理登录
- 我有三个地方供用户登录,在同一页面上,我如何在一个功能中让所有三个按钮工作和三个表单处理
- 登录时的错误处理
- 尝试使用Fancybox / Ajax处理登录错误
- REST调用登录过程,我们如何处理重定向
- React/Flux通过登录流处理权限敏感操作的方式
- Ajax登录框没有't调用PHP文件以继续处理
- 网站的Facebook登录:处理用户Facebook注销的最佳实践
- 处理登录表单验证
- RegEx在VBA和JavaScript中的处理方式有何不同?
- 登录亚马逊使用CasperJS处理验证码
- 如何处理Facebook登录作为页面
- 我将如何处理从客户端发送登录数据到服务器与Backbone.js
- 在骨干js中处理登录的用户模型和视图
- 如何处理“登录”
- 在php中处理登录后的会话id,以将菜单栏项从登录更改为注销
- Angularjs在登录时处理非活跃用户