【问题标题】:GetRoleId Role Name from AspNet Identity and Update User Role从 AspNet Identity 中获取角色名称并更新用户角色
【发布时间】:2020-10-06 11:02:50
【问题描述】:

我使用以下方法创建了用户并为每个用户分配了单个角色: 我必须更新留在管理员用户的用户信息和角色。

            var userDet = new ApplicationUser
        {

            Email = model.Email,
            UserName = model.Email,
            TenantId = tenantId,
            IsAdmin = false


        };

        var result = await _userManager.CreateAsync(userDet, model.Password);

        if (model.Role == "ADMIN")
            throw new NullReferenceException("Can't Add Admin Role to User!");

        var assignRole = await _userManager.AddToRoleAsync(userDet, model.Role);

但我无法更新创建的用户角色,因为我无法从以下代码中的用户 ID 中获取角色 ID 和角色名称:

        var user = await _userManager.FindByEmailAsync(model.Email);
        var admin = await _userManager.FindByEmailAsync(model.AdminEmail);
        bool IsAdmin = admin.IsAdmin;

        var userDet = new ApplicationUser
        {

            OrganizationName = model.OrganizationName,
        };

        var result = await _userManager.UpdateAsync(userDet);

        var user = await _userManager.FindAsync(model.Email);
        string oldRoleName = await _userManager.GetRoles(user.Id).FirstOrDefault();
        var removerole= await _roleManager.RemoveRoleAsync(user.Id, oldRoleName);
        var result2 = await _userManager.AddToRoleAsync(user.Id, model.Role);

我无法从上述代码中检索 RoleName、roleid。 如何根据模型的 ID 更新用户。来自另一个用户的电子邮件用户。

【问题讨论】:

    标签: asp.net-identity


    【解决方案1】:
    var user =await _userManager.FindByEmailAsync(model.Email);
    var roles = await _userManager.GetRolesAsync(user);
    await _userManager.RemoveFromRoleAsync(user, roles[0]);
    await _userManager.AddToRoleAsync(user, model.Role);
    

    【讨论】:

    • 感谢您抽出宝贵时间提供答案。!你能:- 1)编辑你的答案,以便详细回答。 2)用这个答案解释你想达到什么目的以及你想说什么。?有关详细信息,请参阅如何在帮助中心中写出好的答案(方法:stackoverflow.com/help/how-to-answer
    猜你喜欢
    • 1970-01-01
    • 2021-05-24
    • 1970-01-01
    • 2016-12-26
    • 1970-01-01
    • 2016-02-28
    • 2013-10-29
    • 1970-01-01
    • 2017-11-13
    相关资源
    最近更新 更多