如何从旧的 asp.net 成员资格创建用户到新的 MVC .net 并发送密码重置

How to create users from old asp.net membership to new MVC .net and send password reset

对不起,如果这听起来很菜鸟——我是一个爱好者: 我有一个较旧的 asp.net (vb) 表单成员资格在 azure sql 数据库上,该数据库是使用 visual studio 2012 模板中的代码优先选项创建的(实体版本 6 如果有帮助) .我想过渡到 MVC 。 c# MVC 项目的模板与 azure 配合得非常好,我的开放式身份验证工作正常,但我不知道如何让我的老用户成为新成员。数据库字段看起来很不一样(MCV 只有几个表,看起来更直接,而 VS2012 的旧 asp.net 有多个表,密码盐等。我有大约 500 个用户,所以手动听起来太糟糕了。我尝试复制测试用户的电子邮件,然后尝试重置密码——它作为密码重置电子邮件发送,但随后在到达密码重置视图时给出 "error occurred",猜测是因为用户是永远不会有问题地设置。 那么,有没有过渡到新会员系统的方法呢?我可能想出如何 运行 一些脚本来从电子邮件列表中创建一群用户,但我如何才能让每个用户同时通过电子邮件发送重置 link。这里的任何指导都会有所帮助,谢谢

我要做的是使用旧用户的电子邮件在 MVC 站点中创建新用户。您可以通过多种方式做到这一点,或者编写一些快速的数据库代码来读取电子邮件地址,导出到文本文件并读取文本文件,或者只是对包含所有地址的数组进行硬编码。

然后使用循环将每个用户添加为新用户,这样您就可以在系统中正确获取他们,然后 运行 为每个新帐户重置密码,这样用户就可以设置一个新密码。

像这样:

//loop for each email address from old DB

var user = new ApplicationUser { UserName = _email, Email = _email };
var result = await UserManager.CreateAsync(user, "TempPass123!");
if (result.Succeeded)
{
 //reset the password
}

查看这篇文章以获得一些指导:Create a secure ASP.NET MVC 5 web app with log in, email confirmation and password reset