Mysql 如何防止用户从两台设备登录

Mysql 如何防止用户从两台设备登录,mysql,angularjs,node.js,ionic2,Mysql,Angularjs,Node.js,Ionic2,我正在开发离子2的移动应用程序。我想设计一种机制,当用户登录我的网站时,我必须同时从我的移动应用程序中注销。如果用户登录了移动应用程序,则网站必须注销。我在手机和网站上使用相同的数据库。我正在使用jsonwebtoken进行移动身份验证。在我的ionic 2应用程序中实现此机制的最佳方法是什么。您需要创建一个会话表,该表将存储会话详细信息,还将存储用于识别这些会话的唯一ID和状态,并告诉我们会话是否处于活动状态。此id将用作验证不同设备会话的参考,一旦用户登录,您将查询此表并检查是否存在任何现有

我正在开发离子2的移动应用程序。我想设计一种机制,当用户登录我的网站时,我必须同时从我的移动应用程序中注销。如果用户登录了移动应用程序,则网站必须注销。我在手机和网站上使用相同的数据库。我正在使用jsonwebtoken进行移动身份验证。在我的ionic 2应用程序中实现此机制的最佳方法是什么。

您需要创建一个会话表,该表将存储会话详细信息,还将存储用于识别这些会话的唯一ID和状态,并告诉我们会话是否处于活动状态。此id将用作验证不同设备会话的参考,一旦用户登录,您将查询此表并检查是否存在任何现有会话。如果存在,则将状态更改为false


在UI中,您将使用setinterval定期请求此会话,可以是10秒,也可以是基于您的要求的任何时间,然后在setinterval中调用将检查此会话的后端,如果此会话状态为false,则注销。

您是否可以指定范围?您试图限制仅从多个设备登录还是仅从任何其他登录?如果您使用的是web令牌(未存储在您的终端上),这将无法防止,因为您没有任何会话的信息。如果你有某种刷新令牌,你至少可以撤销它,让访问令牌过期。我想防止来自多个设备意味着天气网站或移动设备的用户一次必须使用一个设备。网站使用会话ID,但移动应用程序使用令牌。如果我在用户登录时将web令牌存储在数据库中,那么我如何与web会话进行比较。我想做的事情你完全正确,但我不知道如何使用令牌和会话ID。是否可以在我的后端中同时使用和验证。在这种情况下,您可以基于正在使用的后端检查会话身份验证