【问题标题】:Migrate AspNetSqlMembershipProvider users to WebMatrix将 AspNetSqlMembershipProvider 用户迁移到 WebMatrix
【发布时间】:2012-10-01 00:57:00
【问题描述】:
我正在寻找可以将我的用户从AspNetSqlMembershipProvider 用户迁移到WebMatrix.WebData.WebSecurity 的工具。我想在 Azure 上托管我的网站,但在使用 AspNet 存储过程时遇到了很多麻烦。
将数据从一个表导出到另一个表似乎很容易,但不使用密码。我该如何完成这项任务它必须对我的最终用户透明。
谢谢!
【问题讨论】:
标签:
asp.net-membership
webmatrix-2
【解决方案1】:
如果密码是唯一的障碍,请不要担心。事实上,我们不能也不需要知道密码本身。
在大多数系统中,密码被编码并保存在一个表中。在 asp.net mvc4 SimpleMembershipProvider 中,该表称为 pages_membership。在此表中,2 列是键:Password 和 PasswordSalt。我对 AspNetSqlMembershipProvider 一无所知,但我认为必须有一个对应的表,其中包含具有相似名称的 2 列。迁移这 2 列中的数据应该可以正常工作。
我建议这样做:
- 在旧系统中使用密码创建一个新帐户。
- 在新系统中使用不同的密码创建一个新帐户。
- 用旧系统中的密码/PasswordSalt 覆盖新系统中的密码/PasswordSalt。
- 尝试用旧系统的密码登录新系统。
- 如果成功,则证明这两个系统使用的是相同的机制,您可以完成整个迁移工作。
详细算法可以看这里:http://www.jasypt.org/howtoencryptuserpasswords.html