ASP.NET 核心身份 3.1:UserManager.RemoveFromRoleAsync 总是 returns UserNotInRole
ASP.NET Core Identity 3.1: UserManager.RemoveFromRoleAsync always returns UserNotInRole
我能够使用角色管理器创建角色并使用 UserManager.AddToRoleAsync 将用户添加到角色
但是当使用方法 UserManager.RemoveFromRoleAsync(User, Role) 时,我总是收到错误提示 UserNotInRole
但是当使用 UserManager.GetUsersInRoleAsync("Administrator") 时,我得到了结果。
但又是方法 UserManager.IsInRoleAsync(user, "Administrator"); return false.
接下来,在检查 SQL 分析器时,我注意到在 UserInRole[=] 的 select 语句中,为 userId 和 roleid 设置的参数是相反的53=] table
知道是什么导致了这种奇怪的行为吗?我正在使用 Identity.Core,版本=3.1.3.0
更新了代码片段
我的 AspNetUserole Table
参考下图,只有方法IsInRoleAsync和RemoveFromRoleAsync获取失败,其他方法正在获取结果。
您的身份密钥 UserRole table 似乎配置错误。
可以 post 您修改 IdentityUserRole table 的代码片段吗?
我能够使用角色管理器创建角色并使用 UserManager.AddToRoleAsync 将用户添加到角色 但是当使用方法 UserManager.RemoveFromRoleAsync(User, Role) 时,我总是收到错误提示 UserNotInRole
但是当使用 UserManager.GetUsersInRoleAsync("Administrator") 时,我得到了结果。
但又是方法 UserManager.IsInRoleAsync(user, "Administrator"); return false.
接下来,在检查 SQL 分析器时,我注意到在 UserInRole[=] 的 select 语句中,为 userId 和 roleid 设置的参数是相反的53=] table
知道是什么导致了这种奇怪的行为吗?我正在使用 Identity.Core,版本=3.1.3.0
更新了代码片段
我的 AspNetUserole Table
参考下图,只有方法IsInRoleAsync和RemoveFromRoleAsync获取失败,其他方法正在获取结果。
您的身份密钥 UserRole table 似乎配置错误。 可以 post 您修改 IdentityUserRole table 的代码片段吗?