【发布时间】:2015-04-14 22:01:39
【问题描述】:
我们获得了 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);
}
为了确保,我还在门户中验证了用户,我确实看到用户被分配了两个角色。但由于某种原因,当用户登录时,我只能获得一个角色。
【问题讨论】:
-
Nikhil,这应该可行。能否请您在dushyantgill.com/blog/contact 上给我您的电子邮件地址,我们将一起解决问题
-
感谢 Dushyant 回复我。我刚刚在你的博客上删除了我的联系方式。
标签: azure single-sign-on azure-active-directory adal