Asp Identity 2.0 добавляет новые роли и добавляет пользователя в роли

У меня возникли проблемы с пониманием нового материала Identity. Я пытаюсь понять, как добавить новые роли и добавить пользователя в эти роли. Я пытаюсь создать страницу управления ролью и страницу управления пользователями для своего приложения и должен иметь возможность делать эти две вещи. Каждый раз, когда я пытаюсь добавить роль пользователю, выполните следующие действия: System.Web.Security.Roles.AddUserToRole( "Andy", "admin" ); Я получаю "Функция Role Manager не включена". У меня нет персонализированного поставщика роли, и я попробовал включить диспетчер ролей для включения, но просто получил сообщение об ошибке, когда у меня не было поставщика роли. Я полагал, что у Иденти все это уже построено? Может ли кто-нибудь помочь мне в этом?

Ответ 1

System.Web.Security - это старая структура членства ASP.NET. ASP.NET Identity находится в пространстве имен Microsoft.AspNet.Identity. Используйте RoleManager для создания ролей и UserManager для добавления пользователей в роли.

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");
}