UserManager RemoveFromRole错误

时间:2014-03-21 08:34:56

标签: asp.net-identity

从角色中删除用户的函数(UserManager中的RemoveFromRole)严重错误!如果用户有很多角色,该功能似乎删除了一个随机角色,但幸运的是正确的用户。

还有其他人经历过这个吗?

3 个答案:

答案 0 :(得分:2)

有一个错误跟踪此问题http://aspnetidentity.codeplex.com/workitem/2069 作为一种解决方法,您可以删除用户的所有角色,并立即添加这些角色。它不是最好的解决方案,但它会起作用

答案 1 :(得分:1)

我遇到了完全相同的错误,它已在2.0.1中得到修复。你只需要更新。

答案 2 :(得分:0)

我遇到了方法 RemoveFromRoles 的错误。如果我尝试删除用户不在的角色,则会发生错误。我必须编写一个方法来获取用户所在角色的名称。这样我只能从这些角色中删除用户。

public List<string> GetRoleNamesOf(IdentityUser user)
{
    var roles = user.Roles;
    List<string> roleNames = new List<string>();

    foreach (var role in roles)
    {
        var roleName = this.FindById(role.RoleId).Name;
        roleNames.Add(roleName);
    }

    return roleNames;
}