我正在使用ASP.NET Core Identity 2.0.2。当我致电vid-id
时,它不会从用户中删除该角色。它说:
Microsoft.AspNetCore.Identity.UserManager:警告:用户b651a459-5d6b-4239-88e6-facb33f11e87不是管理员角色。
代码如下:
UserManager.RemoveFromRoleAsync
我还试图将var userResult = await _userManager.RemoveFromRoleAsync(
user,
requestRole.ToReadableString());
函数中的数组角色传递给所有成员。
我看不到从用户中删除角色的其他方法。
更新
RemoveFromRolesAsync
roleResult和roleResult2均为假。
角色包含“管理员”。
如果我以该用户身份登录,则该用户具有“管理员”角色。
因此,Authorize Attribute表示用户具有以下角色:
var roleResult = await _userManager
.IsInRoleAsync(
user,
requestRole.ToReadableString());
var roleResult2 = await _userManager
.IsInRoleAsync(
user,
"Administrator");
var roles = await _userManager
.GetRolesAsync(user);
var userResult = await _userManager
.RemoveFromRoleAsync(
user,
requestRole.ToReadableString());
另一个测试:
[Authorize(Roles = "Administrator", AuthenticationSchemes = "Bearer")]
对于从GetRolesAsync(user)返回的所有角色,方法IsInRoleAsync()都为false;
那里发生了什么事?
答案 0 :(得分:0)
请
在“ AspNetRoles”表中查找正确的角色名称
外观是“ AspNetUserRoles”表中角色的用户
从RemoveFromRoleAsync的“ AspNetRoles”中指定角色名称