【发布时间】:2016-03-21 18:01:50
【问题描述】:
我正在使用 ASP.NET 5 RC1 并使用 Identity 3.0 提供使用用户名/密码的身份验证,使用内置的 ASPNET 架构和 EF7。
出于测试目的,我尝试使用从 Startup.cs 调用的静态方法为数据库添加角色和用户。以下代码适用于添加角色,但不适用于用户。 (我找不到任何在 Identity 3 中使用新 RoleManager 和 UserManager 类的示例代码)。我在这里使用了对 UserManager 的正确方法调用吗?
if (!context.Roles.Any(r => r.Name == "Admin"))
{
var store = new RoleStore<IdentityRole>(context);
var manager = new RoleManager<IdentityRole>(store, null, null, null, null, null);
var role = new IdentityRole { Name = "Admin" };
manager.CreateAsync(role);
}
if (!context.Roles.Any(r => r.Name == "User"))
{
var store = new RoleStore<IdentityRole>(context);
var manager = new RoleManager<IdentityRole>(store, null, null, null, null, null);
var role = new IdentityRole { Name = "User" };
manager.CreateAsync(role);
}
if (!context.Users.Any(u => u.UserName == "darin"))
{
var store = new UserStore<ApplicationUser>(context);
var manager = new UserManager<ApplicationUser>(store, null, null, null, null, null, null, null, null, null);
var user = new ApplicationUser { UserName = "darin", Email = "dherle@gmail.com" };
manager.CreateAsync(user, "admin");
manager.AddToRoleAsync(user, "Admin");
}
if (!context.Users.Any(u => u.UserName == "chris"))
{
var store = new UserStore<ApplicationUser>(context);
var manager = new UserManager<ApplicationUser>(store, null, null, null, null, null, null, null, null, null);
var user = new ApplicationUser { UserName = "chris", Email = "dan@gmail.com" };
manager.CreateAsync(user, "chris");
manager.AddToRoleAsync(user, "User");
}
【问题讨论】:
标签: c# asp.net asp.net-mvc entity-framework asp.net-identity