aspnetdb添加角色和用户

时间:2015-03-15 23:56:57

标签: c# model-view-controller

在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;));

1 个答案:

答案 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();
    }