1

我正在尝试实现只有一个用户可以使用给定的凭据登录。

我在登录时使用以下代码进行检查:

MembershipUser objectUser = Membership.GetUser(Login1.UserName);
    if (objectUser != null)
    {
        boolIsAlreadyLoggedIn = objectUser.IsOnline;
    }

这工作正常。当用户选中记住我时,我遇到了问题。场景: 1. 如果用户登录时勾选了记住我。关闭浏览器。2. 现在从另一台机器或另一个浏览器使用相同的凭据登录。他可以登录。3. 但是如果用户再次从 Browser-1/machine-1 登录,他可以登录,因为浏览器有持久的 cookie。

有人可以建议我如何解决这个问题吗?

提前致谢

4

1 回答 1

0

我假设 cookie 拥有一个每次登录的会话 ID。只需确保每个用户一次只能与一个会话 ID 相关联。每个新登录都会用一个新的用户替换任何现有的会话 id。当然,任何使用过期会话 id 的请求都会被直接带到“未登录 - 您可能在其他地方登录”页面。

于 2010-05-12T09:52:55.417 回答