Asp.net mvc MVC 5种子用户仅适用于电子邮件
我正在研究一个基于MVC5和EF代码的项目 我有多个上下文,但我在这里关注的是ApplicationDbContext,它具有以下配置代码:Asp.net mvc MVC 5种子用户仅适用于电子邮件,asp.net-mvc,asp.net-membership,asp.net-mvc-5.2,Asp.net Mvc,Asp.net Membership,Asp.net Mvc 5.2,我正在研究一个基于MVC5和EF代码的项目 我有多个上下文,但我在这里关注的是ApplicationDbContext,它具有以下配置代码: namespace DX.DAL.Migrations.ApplicationDbMigrations { public class Configuration : DbMigrationsConfiguration<ApplicationDbContext> { public Configuration()
namespace DX.DAL.Migrations.ApplicationDbMigrations
{
public class Configuration : DbMigrationsConfiguration<ApplicationDbContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = false;
MigrationsDirectory = @"Migrations\ApplicationDbMigrations";
ContextKey = "DX.DAL.Context.ApplicationDbContext";
}
protected override void Seed(ApplicationDbContext context)
{
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
if (!roleManager.RoleExists("Admin"))
{
roleManager.Create(new IdentityRole("Admin"));
}
var user = new ApplicationUser { UserName = "John", Email = "j.doe@world.com" };
if (userManager.FindByName("John") != null) return;
var result = userManager.Create(user, "Password123@");
if (result.Succeeded)
{
userManager.AddToRole(user.Id, "Admin");
}
}
}
}
我看到以下情况:
所以种子已经被创造出来了。但是为什么我不能登录
此外,我知道如果我将用户名更改为与电子邮件相同,那么它就会工作,我可以登录。MVC 5中的ASP.NET成员身份必须使用相同的用户名和电子邮件吗?在尝试了许多不同的方法后,我选择了LukeP的解决方案 我保留了身份,只是添加了一个名为
DisplayUsername
的新属性,并允许用户在注册时设置它
SELECT * FROM AspNetUsers