Dar*_*ryl 1 asp.net-mvc asp.net-membership asp.net-identity
我正在考虑将目前使用ASP.NET成员资格进行身份验证和授权的现有MVC 4转换为最近在VS 2013中发布的MVC 5等新的ASP.NET身份模型.除了升级到MVC 5之外,有没有人想过将应用程序转换为这个新框架所需的内容对现有用户的影响最小?
理想情况下,我想保留他们的密码哈希值和盐,以防止用户在转换后更改密码.此外,有人谈到将Federation作为一些客户端的备用登录,因此我也需要在新系统中使用声明功能.
对于任何反馈,我们都表示感谢.
迁移用户帐户基本上有两种基本方法:
如果您的MVC 4项目使用默认的"简单成员资格"提供程序,那么好消息是使用的散列算法是相同的.简单的成员资格是开源的,这里是加密代码:
https://github.com/aspnetwebstack/aspnetwebstack/blob/master/src/System.Web.Helpers/Crypto.cs
遗憾的是,新的身份系统不是开源的,但事实证明它使用相同的算法(耶!) - 只需复制一个密码哈希它就可以工作(不要担心盐 - 它包含在哈希"blob")!!! 因此,"批量"迁移绝对是可能的.
但是,我强烈建议你不要这样做.新的身份系统似乎不断变化,所以也许等待几周是一个好主意.例如,源代码可能变得可用(因此我终于可以看到"SecurityStamp"值如何工作以及它的用途:)
OTOH,如果您使用的是旧的"预简单成员资格"(MVC4之前)身份验证,它会使用完全不同的哈希算法(SHA256,IIRC),因此无法快速迁移 - 您必须等待为您的所有用户登录以将其帐户移动到新系统.(当然,您可以通过向他们发送信息性的电子邮件来加速这个过程,该电子邮件说明为什么他们应该尽快这样做:)
我希望这有帮助.
Wrt Federation - 我不知道:)
| 归档时间: |
|
| 查看次数: |
1706 次 |
| 最近记录: |