我正在寻找一种工具,可以将我的用户从AspNetSqlMembershipProvider用户迁移到WebMatrix.WebData.WebSecurity。我想将我的网站托管在Azure上,并且AspNet存储过程遇到很多麻烦。

将数据从一个表导出到另一个表似乎很容易,但是不使用密码即可。我如何执行任务对最终用户而言,它必须是透明的。

谢谢!

最佳答案

如果唯一的障碍是密码,请不要担心。实际上,我们不能也不需要知道密码本身。
在大多数系统中,密码被编码并保存在表中。在asp.net mvc4 SimpleMembershipProvider中,该表称为webpages_membership。在此表中,两列是键​​:“密码”和“密码盐”。我对AspNetSqlMembershipProvider一无所知,但我认为必须有一个对应的表,其中包含具有相似名称的2列。迁移这两列中的数据应该可以使其正常工作。

我建议这样做如下:


在旧系统中使用密码创建一个新帐户。
在新系统中使用不同的密码创建一个新帐户。
用旧系统中的密码覆盖新系统中的Password / PasswordSalt。
尝试使用旧系统的密码登录新系统。
如果成功,则证明这两个系统使用相同的机制,然后您就可以完成整个迁移工作。


详细算法可在此处找到:http://www.jasypt.org/howtoencryptuserpasswords.html

10-07 18:57
查看更多