【发布时间】:2014-06-03 23:59:50
【问题描述】:
我刚刚将我的应用程序从 asp.net identity 1.0 更新到 2.0,以利用电子邮件确认、双因素身份验证等...
但是,用户现在无法登录。似乎await UserManager.FindAsync(model.UserName, model.Password); 没有找到以身份 1.0 注册的现有用户...但在身份 2.0 期间注册的用户工作正常。
【问题讨论】:
-
哈希应该相同,身份 1 和 2 都使用 System.Security.Cryptography.Rfc2898DeriveBytes 对密码进行哈希处理,这是遵循严格的 OWASP 准则的哈希+盐方法。
-
不仅如此,哈希的存储方式是,即使添加或更改了新的哈希算法,旧的算法仍然可以用于匹配密码。所以很明显这里肯定还有另一个问题。也许你应该让用户重置他们的密码。
-
谢谢,我正在深入研究这个问题。我认为这可能与新的 RavenDB 身份提供程序存储
ApplicationUser的方式有关。仍然很高兴知道跨版本的 asp.net 身份哈希相同。
标签: c# asp.net asp.net-identity