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

本文关键字:net 并发 MVC 密码 创建 asp 成员 身份 用户 | 更新日期: 2023-09-27 18:37:10

对不起,如果这听起来是菜鸟 - 我是一个业余爱好者:我在 azure sql DB 上有一个较旧的 asp.net (vb) 表单成员身份,该成员身份是使用 Visual Studio 2012 模板中的代码优先选项创建的(如果有帮助,则为实体版本 6)。我想过渡到 MVC .c# MVC 项目的模板在 azure 中工作得很棒,我让开放身份验证工作,但我不知道如何让我的老用户加入新成员资格。数据库字段看起来完全不同(MCV 只有几个表,看起来更直接,而 VS2012 中的旧 asp.net 有多个表、密码盐等。我有大约 500 个用户,所以手动操作听起来很糟糕。我尝试复制测试用户的电子邮件,然后尝试重置密码 - 它作为密码重置电子邮件发送,但随后在到达密码重置视图时给出"发生错误",猜测是因为用户从未有问题地设置过。那么,有没有过渡到新会员制的方法呢?我可能会弄清楚如何运行一些脚本来从电子邮件列表创建一组用户,但是我如何让每个用户同时通过电子邮件发送重置链接。这里的任何指导都会有所帮助,谢谢

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

我要做的是使用旧用户的电子邮件在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
}

查看本文以获取一些指导:创建具有登录、电子邮件确认和密码重置功能的安全 ASP.NET MVC 5 Web 应用