I'm having trouble understanding the new Identity stuff. I'm trying to figure out how to add new roles and add user's to those roles. I'm trying to create a role management page and a user management page for my application and need to be able to do those two things. Everytime i try to add a role to a user like this: System.Web.Security.Roles.AddUserToRole("Andy", "admin"); I get "The Role Manager feature has not been enabled." I don't have a custom role provider and i tried turning role manager to enabled but just got an error about not having a role provider. I figured Identity had all this built in already? Can somebody help me through this?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
System.Web.Security
is the old ASP.NET Membership framework. ASP.NET Identity is in the namespace Microsoft.AspNet.Identity
. Use a RoleManager
to create roles, and a UserManager
to add users to roles.
using (var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context))
{
roleManager.Create(new IdentityRole("Administrator"));
}
using (var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context)))
{
var user = new ApplicationUser { UserName = "admin" };
userManager.Create(user, "admin321");
userManager.AddToRole(user.Id, "Administrator");
}