【问题标题】:Asp.Net Identity TwoFactorRememberBrowser cookie overwritten for second user为第二个用户覆盖的 Asp.Net Identity TwoFactorRememberBrowser cookie
【发布时间】:2015-09-26 14:13:53
【问题描述】:

使用 Asp.Identity 2.2.1 和双因素身份验证,当用户登录时,如果 TwoFactorRememberBrowser cookie 不存在,他们将被带到 SendCode 操作,并且他们会收到一个发送到他们的电子邮件或电话的代码。这是standard sample code for MVC 5.2。如果他们选择记住浏览器,那么 cookie 会被保存以允许他们下次使用而无需代码。

然后第二个用户在同一设备上登录。与上面的 SendCode 屏幕一起显示,并为它们保存 cookie。

但是,如果第一个用户再次登录,TwoFactorRememberBrowser cookie 现在已为第二个用户更改,因此它不再记住第一个用户的浏览器。

这没有意义。作为用户,当我选择记住浏览器时,它不应该依赖任何其他人随后记住相同的浏览器。

这是 Asp.Net Identity 设计的工作方式,还是我错过了什么?

【问题讨论】:

    标签: asp.net-identity two-factor-authentication


    【解决方案1】:

    服务器将 cookie 分发给用户代理(浏览器),并在该用户代理访问同一服务器时传回,直到 cookie 到期。这是 cookie 协议。

    让 2 个用户共享同一个浏览器似乎不是协议管理的事情。

    Asp.Net Identity 试图通过对 cookie 内容进行加密来确保安全,但在分发 cookie 时错过了区分已验证用户的机会,因此在收到共享 cookie 时必须盲目接受。

    我认为它 Asp.Net Identity 的工作方式。我认为这是一个设计缺陷。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-05
      • 1970-01-01
      • 2022-11-08
      • 1970-01-01
      • 1970-01-01
      • 2014-08-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多