Jim*_*ell 27 asp.net asp.net-mvc asp.net-membership asp.net-mvc-3 asp.net-mvc-4
新的MVC4 RTM互联网应用程序模板使用SimpleMembership提供程序,如SimpleMembership所述
我现有的MVC网站使用ASP.Membership框架,理想情况下我想将这些表中的用户数据迁移到新的SimpleMembership表.我想要这样做的原因是:
所以我今天编写了一个SQL脚本,将现有ASP.Net Membership表中的数据迁移到新的Simple Membership表中.这可以在这里找到
在我的MVC 4网站上测试登录密码验证失败.我相信SimpleMembership使用与旧的Membership框架不同的密码算法,因为在SimpleMemberShip框架下创建的新密码看起来要长得多.
所以我的问题是,因为我在旧的ASP.Net成员资格提供程序中使用"哈希"密码格式,并且用户原始密码无法恢复,我有什么选择让SimpleMembership提供程序正常工作.
我猜一些选项是:
我怀疑很多人也希望将现有的会员数据库迁移到新的SimpleMemberShip提供商.
任何帮助非常感谢.
干杯
吉姆
Jim*_*ell 12
我想表达保罗的评论,以防有人错过它,并建议他的解决方案是我见过的最好的.
http://pretzelsteelersfan.blogspot.com/2012/11/migrating-legacy-apps-to-new.html
谢谢保罗
Jer*_*rph 11
您可以在用户登录时访问纯文本密码,这为您提供了另一个选项:
用户不需要知道更改,活动用户将拥有更安全的哈希.如果您希望以后强制进行安全性升级,可以警告用户在一年不活动后将删除其帐户,并且只需退出两步系统.
我有一个类似的问题,我应该写一篇关于这样做的教程/博客文章,但我的解决方案是将以下内容添加到我的web.config(这对应于选项#2):
<system.web>
<membership hashAlgorithmType="SHA1" defaultProvider="DefaultMembershipProvider">
<providers>
<add name="DefaultMembershipProvider" etc.../>
</providers>
</membership>
<machineKey validation="SHA1" />
...
</system.web>
Run Code Online (Sandbox Code Playgroud)
上面代码的有趣部分是"hashAlgorithmType".将其设置为SHA1将使用旧的asp.net成员资格哈希算法.
我也处于类似的位置 - 我要么要求我的用户更新他们的密码,要么保持特定的哈希算法.
希望这可以帮助!-Sig
| 归档时间: |
|
| 查看次数: |
11114 次 |
| 最近记录: |