我正在使用身份的ASP.NET MVC来保护我的web应用程序。我创建了一个“canEdit”角色,并有5个用户想要在数据库中播种。如何将多个用户分配给角色的种子数据库?
我原本想这是:
bool AddUserAndRole(ERPWAG.Models.ApplicationDbContext context)
{
IdentityResult ir;
var rm = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
ir = rm.Create(new IdentityRole("canEdit"));
var um = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
var user = new ApplicationUser()
{
UserName = "[email protected]",
};
ir = um.Create(user, "password");
if (ir.Succeeded == false)
return ir.Succeeded;
ir = um.AddToRole(user.Id, "canEdit");
return ir.Succeeded;
var user2 = new ApplicationUser()
{
UserName = "[email protected]",
};
ir = um.Create(user, "password");
if (ir.Succeeded == false)
return ir.Succeeded;
ir = um.AddToRole(user2.Id, "canEdit");
return ir.Succeeded;
var user3 = new ApplicationUser()
{
UserName = "[email protected]",
};
ir = um.Create(user, "password");
if (ir.Succeeded == false)
return ir.Succeeded;
ir = um.AddToRole(user3.Id, "canEdit");
return ir.Succeeded;
var user4 = new ApplicationUser()
{
UserName = "[email protected]",
};
ir = um.Create(user, "password!");
if (ir.Succeeded == false)
return ir.Succeeded;
ir = um.AddToRole(user4.Id, "canEdit");
return ir.Succeeded;
var user5 = new ApplicationUser()
{
UserName = "[email protected]",
};
ir = um.Create(user, "password");
if (ir.Succeeded == false)
return ir.Succeeded;
ir = um.AddToRole(user5.Id, "canEdit");
return ir.Succeeded;
}
我再Configuration.cs我种方法,称为更新数据库,并发表了一篇名为AddUserAndrole(context)
。
我的用户无法登录本网站。预先使用这些用户填充身份数据库并将其与角色关联起来的最佳方式是什么?
感谢您的回答。在发布我的问题之前,我“清除”了电子邮件地址和密码。所以,密码是强大的,有一个大写字母,一个数字,一个特殊字符和所需的长度。 – SidC
记录在数据库中? SignIn结果是否正确?你的问题在哪里? –