В классе Role Controller необходимо добавить в конструктор зависимость класса RoleManager
.
Класс RoleManager
используется для управления ролями в идентификации и имеет некоторые важные функции. и свойства. role
является объектом типа IdentityRole
.
Пример создания и удаления ролей:
[HttpPost]
public async Task<IActionResult> Create([Required]string name)
{
if (ModelState.IsValid)
{
IdentityResult result = await roleManager.CreateAsync(new IdentityRole(name));
if (result.Succeeded)
return RedirectToAction("Index");
else
Errors(result);
}
return View(name);
}
[HttpPost]
public async Task<IActionResult> Delete(string id)
{
IdentityRole role = await roleManager.FindByIdAsync(id);
if (role != null)
{
IdentityResult result = await roleManager.DeleteAsync(role);
if (result.Succeeded)
return RedirectToAction("Index");
else
Errors(result);
}
else
ModelState.AddModelError("", "No role found");
return View("Index", roleManager.Roles);
}
Затем вы можете использовать следующие члены класса UserManager
для игры с ролями:
userManager.AddToRoleAsync(AppUser user, string name)
userManager.RemoveFromRoleAsync(AppUser user, string name)
et c.
Вы можете прочитать полный текст статьи здесь