您如何批准IdentityUser更改其角色?

时间:2019-05-29 00:34:45

标签: asp.net-core-mvc entity-framework-core

我想在应用程序中更改用户的角色。

我使用依赖注入在控制器中访问UserManager _usermanager。要更改角色,我应该调用_usermanager.AddToRoleAsync(IdentityUser用户,字符串角色),但是我似乎无法找到IdentityUser实体。

    [HttpPost]
    public async Task<IActionResult> BewerkGebruiker(int id , ... )
    {
        Gebruiker g;
        using (var context =  new UTILcontext())
        {
            _userManager.AddToRoleAsync(<<what do i put here?>>),Rol);
            _manager.UpdateGebruiker(g);
            return RedirectToAction("Gebruikers");
        };

2 个答案:

答案 0 :(得分:0)

我不知道_userManager.Users属性。这样,我可以找到正确的IdentityUser来填充AddToRoleAsync。

问题解决了!

答案 1 :(得分:0)

类似的事情应该起作用。 AppUser是一个派生自Microsoft.AspNetCore.Identity.IdentityUser的类,通常在Models目录中。

[HttpPost]
public async Task<IActionResult> EditUser(int userId, string roleName, ...)
{
     AppUser user = await userManager.FindByIdAsync(model.Id);

     if (user != null)
         IdentityResult result = await userManager.AddToRoleAsync(user, roleName);
    . . . 
}