簡體   English   中英

aspnet身份中用戶的多個角色

[英]multiple roles for a user in aspnet identity

在我的項目中,我有一個具有2個職位的用戶,因此,我在數據庫的AspNetUserRoles表中添加了一個具有2個角色的用戶,

因此,例如,我的用戶名為“ email@something.com”的用戶具有2個角色:“ 會計 ”和“ ExecutiveExpert

但是當我調用User.IsInRole("ExecutiveExpert")函數時,它僅檢查第一個角色: accountant ,而不是所有角色( accountantExecutiveExpert ),並且返回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);

這將有助於解決您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM