在我的项目中,我有一个具有2个位置的用户,所以,我在数据库中的Aspnetuserroles表中添加了一个用户,
所以,例如,我的用户使用此用户名:" email@something.com"具有2个角色:" counctant >"one_answers" ExpacityExpert "
但是,当我调用User.IsInRole("ExecutiveExpert")
函数时,它只会检查第一个角色: Accountant ,而不是所有角色( Accountant and exvision> executionexpert (和它返回false,
如何更改ASP.NET身份以检查所有用户角色?一般可以吗?
这些是我的桌子:
[AspNetUsers]:ID: c35721e2-05ef-4c32-8915-b4ad117c5a98
[AspNetRoles]:
Id Name
743f5c09-2b94-4da6-ab1c-9c9a6c9373b7 accountant
845efdf6-ab07-475c-9eb1-b14365b1a54c ExecutiveExpert
[AspNetUserRoles]:
userID RoleID
c35721e2-05ef-4c32-8915-b4ad117c5a98 743f5c09-2b94-4da6-ab1c-9c9a6c9373b7
c35721e2-05ef-4c32-8915-b4ad117c5a98 845efdf6-ab07-475c-9eb1-b14365b1a54c
在这种情况下,安全邮票已更新。您需要专门续订/重置安全印章
UserManager.UpdateSecurityStampAsync(userId);
这将有助于解决您的问题。