在Asp.net中实现多登录限制

在Asp.net中实现多登录限制,asp.net,.net,vb.net,session,Asp.net,.net,Vb.net,Session,当“A”用户使用“ABC”凭据从1台电脑登录时,我有一个问题。类似地,当“B”用户使用相同凭据从另一台电脑登录时,“A”用户必须从其帐户中退出。我使用会话id和IP进行了尝试,但它仅在本地主机上工作。当我将其上载到服务器上时,它将停止工作。因此,请帮助我并建议一些在服务器上有效的方法。 提前感谢您可以做的一种方法是为每个登录创建一个GUID(或使用SessionId),当您知道B用户已登录时,找到与同一用户ID相关的所有GUID(SessionId),并销毁GUID使用的所有会话。在数据库和登录

当“A”用户使用“ABC”凭据从1台电脑登录时,我有一个问题。类似地,当“B”用户使用相同凭据从另一台电脑登录时,“A”用户必须从其帐户中退出。我使用会话id和IP进行了尝试,但它仅在本地主机上工作。当我将其上载到服务器上时,它将停止工作。因此,请帮助我并建议一些在服务器上有效的方法。


提前感谢

您可以做的一种方法是为每个登录创建一个GUID(或使用SessionId),当您知道B用户已登录时,找到与同一用户ID相关的所有GUID(SessionId),并销毁GUID使用的所有会话。在数据库和登录检查中保存GUID或SessionId(如果您获得的用户Id是从另一台计算机登录的),调用代码删除数据库中存储的会话Id为的所有会话

      Table
        User Id , SessionId 
         XXXX      123456789
验证登录时,运行查询以查看

     SELECT * FROM Table where User Id = xxxx

循环浏览所有记录并销毁会话

您可以做的一种方法是为每个登录创建一个GUID(或使用SessionId),当您知道B用户已登录时,找到与同一用户ID相关的所有GUID(SessionId),并销毁GUID使用的所有会话。在数据库和登录检查中保存GUID或SessionId(如果您获得的用户Id是从另一台计算机登录的),调用代码删除数据库中存储的会话Id为的所有会话

      Table
        User Id , SessionId 
         XXXX      123456789
验证登录时,运行查询以查看

     SELECT * FROM Table where User Id = xxxx
循环浏览所有记录并销毁会话