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");
}
}
До:
После: