Usermanager.RemoveFromRoleAsyncIsnotWorkingProperly в ядре .NET 5.0

Я пытаюсь удалить роль пользователя, она не работает в.net 5.0

 var roles = await userManager.GetRolesAsync(user);
 var result = await userManager.RemoveFromRolesAsync(user, roles);

с сервером разработки и производства

1 ответ

Как добавить пользователя в роль? Ниже я приведу пример обходного пути.

        public class HomeController : Controller
{
    private readonly UserManager<IdentityUser> _userManager;
    private readonly SignInManager<IdentityUser> _signInManager;
    RoleManager<IdentityRole> roleManager;

    public HomeController(
        UserManager<IdentityUser> userManager,
        SignInManager<IdentityUser> signInManager,
        RoleManager<IdentityRole> _roleManager  )
    {
        _userManager = userManager;
        _signInManager = signInManager;
        roleManager = _roleManager;
    }
    [HttpPost]
    public async Task<IActionResult> Register(string username, string password)
    {

        var user = new IdentityUser
        {
            UserName = username,
            Email = "",
        };

        roleManager.CreateAsync(new IdentityRole("admin"));
        var result = await _userManager.CreateAsync(user, password);
        
        if (result.Succeeded)
        {
            var role = _userManager.AddToRoleAsync(user, "admin");
            var roles = _userManager.GetRolesAsync(user).Result;
            
            var resu = await _userManager.RemoveFromRolesAsync(user, roles);
            var roles2 = _userManager.GetRolesAsync(user).Result;
            return Redirect("Secret");
        }

        return RedirectToAction("Index");
    }
}

До:

После:

Другие вопросы по тегам