0
在我的項目一個用戶的多個角色,我有2位用戶,所以, 我加了用戶與AspNetUserRoles表2級的角色在我的數據庫,在ASPNET身份
如此,例如,我使用該用戶名的用戶:「[email protected]」有2個角色:「會計師」和「ExecutiveExpert」
,但是當我打電話User.IsInRole("ExecutiveExpert")
功能,它只是檢查的第一個角色:會計師,不是所有的角色(會計師和ExecutiveExpert)並且它返回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
我不明白你在說什麼。 'User.IsInRole'只會給你一個布爾值。如果它具有指定的角色,則會變爲true,否則爲false。 – mason
您需要將'string'傳遞給'IsInRole'。請參閱[文檔](https://msdn.microsoft.com/en-us/library/system.web.security.roleprincipal.isinrole(v = vs.110).aspx) –
@mason:我只是編輯我的問題,請你再讀一遍嗎?謝謝。 –