在VS2013中,他们使用了您以前能够设置角色和成员资格的网站管理工具。我试图添加一个" Admin"角色到我的网站并添加我的用户名,但我尝试过的一切都没有用。
var roleManager = new RoleManager(new RoleStore(context)); roleManager.Create(新的IdentityRole("管理员"));
var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
var user = new ApplicationUser { UserName = "admin" };
userManager.Create(user, "admin321");
userManager.AddToRole(user.Id, "Administrator");
在我的MVC5网络应用中运行此功能。给我以下错误;
类型&#39; System.InvalidOperationException&#39;的例外情况发生在mscorlib.dll中但未在用户代码中处理
附加信息:实体类型IdentityRole不是当前上下文模型的一部分。
错误产生于; roleManager.Create(新的IdentityRole(&#34;管理员&#34;));
答案 0 :(得分:0)
在这里找到我自己的答案; ASP.Net MVC 4.5 Owin Simple Role Management by Anders G. Nordby
以下是创建管理员帐户和分配用户的关键代码;
using (var context = new ApplicationDbContext())
{
var roleStore = new RoleStore<IdentityRole>(context);
var roleManager = new RoleManager<IdentityRole>(roleStore);
roleManager.Create(new IdentityRole("Admin"));
var userStore = new UserStore<ApplicationUser>(context);
var userManager = new UserManager<ApplicationUser>(userStore);
var user = userManager.FindByEmail("my.email@somewhere.com");
userManager.AddToRole(user.Id, "Admin");
context.SaveChanges();
}