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