从角色中删除用户的函数(UserManager中的RemoveFromRole)严重错误!如果用户有很多角色,该功能似乎删除了一个随机角色,但幸运的是正确的用户。
还有其他人经历过这个吗?
答案 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;
}