【问题标题】:ASP.NET Identity, Allow Only One Authenticated User in ServerASP.NET 身份,服务器中只允许一个经过身份验证的用户
【发布时间】:2015-05-16 08:46:10
【问题描述】:

我在我的 MVC5 应用程序中实现了 ASP.net Identity 2.1.0 身份验证。我正在寻找一种方法,每个用户名/密码组合一次只允许一个连接。例如,如果用户名 A 和密码 B 的用户连接,直到他们断开连接,任何尝试以 A 和密码 B 连接的人都将被拒绝,并显示类似“有一个活动的用户使用该信息登录!”。 我尝试过使用CookieAuthenticationProvider.OnValidateIdentityCookieAuthenticationProvider.OnResponseSignIn,但我不知道如何检测活动用户的会话。

我发现a post 有类似的东西,但不是拒绝使用相同凭据的第一个连接,而是在更改密码时使连接无效。

【问题讨论】:

    标签: asp.net-identity identity asp.net-identity-2


    【解决方案1】:

    我会通过在每次用户登录时生成一个新的 GUID 并将其存储在用户的会话和身份验证令牌中来解决这个问题。在每个请求或在某个时间间隔,您可以比较两者,如果它们不匹配,您可以将用户注销。

    使用这种方法,当用户从第二个浏览器/设备登录时,您可以提示他们一条消息,表明他们当前已在其他地方登录,如果他们继续,该会话将被注销。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-23
      • 2017-07-08
      • 2011-10-08
      • 2011-01-30
      • 1970-01-01
      • 2021-06-28
      • 1970-01-01
      相关资源
      最近更新 更多