我们获得了 ADAL 高级许可证,我们能够成功地为用户分配一个以上的角色。但是我们可以解决这个问题,其中用户“Rob”位于 2 个不同的组中,即(A 组和 B 组),我们将 A 组分配给“西班牙语翻译”,将 B 组分配给“中文翻译”。因此,我们认为用户“Rob”将通过组成员身份获得多个角色分配给他。但由于某种原因,我们只获得一个角色“中文翻译”。
获取用户角色的代码片段:
ClaimsIdentity claimsId = ClaimsPrincipal.Current.Identity as ClaimsIdentity;
var appRoles = new List<String>();
foreach (Claim claim in ClaimsPrincipal.Current.FindAll(claimsId.RoleClaimType))
{
appRoles.Add(claim.Value);
}
只是为了确保,我还在门户中验证了用户,我确实看到用户被分配了两个角色。但由于某种原因,当用户登录时,我只能获得一个角色。