0

在 ASP.NET MVC 应用程序中,如果在另一个 Web 客户端上使用登录凭据,是否可以注销某人?

例如,

1) 用户从 PC A 登录,用户 ID 为 admin
2) 另一个用户从 PC B 以用户 ID admin 登录
3) PC A 退出

4

1 回答 1

1

我会考虑在客户端 cookie 上设置一个令牌。可以检查此令牌以进行后续调用,如果不匹配,则将用户踢出。

因此,就用例而言...

  1. 创建一个表 - LoggedInUsers,其中包含 UserID、Token
  2. 当用户在浏览器 A 上登录时,您可以检查 LoggedInUsers 表以查看他们当前是否已登录并具有匹配的令牌。如果它们不存在,则创建一个令牌并将其存储在它们的 cookie 中并将条目添加到表中。如果它们在表中并且确实具有匹配的令牌,则它们是同一个浏览器。如果他们在数据库中但令牌不匹配,那么您选择是否希望新用户让他们的令牌覆盖现有的令牌或阻止登录。

现在,任何页面调用都应该检查 LoggedInUsers 表,这样如果用户通过另一个浏览器登录,您就可以将其注销。

希望这是有道理的...

于 2013-08-27T15:33:58.827 回答