ADAL プレミアム ライセンスを取得し、ユーザーに複数のロールを正常に割り当てることができます。しかし、ユーザー「Rob」が 2 つの異なるグループ (グループ A とグループ B) に属し、グループ A を「スペイン語翻訳者」に、グループ B を「中国語翻訳者」に割り当てた場合、この問題を回避できます。したがって、ユーザー「Rob」は、グループ メンバーシップを介して複数の役割が割り当てられますが、何らかの理由で、「中国語翻訳者」という 1 つの役割しか取得できません。
ユーザーのロールを取得するコード スニペット:
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);
}
念のため、ポータルでユーザーを確認したところ、ユーザーに 2 つのロールが割り当てられていることがわかりました。しかし、何らかの理由で、ユーザーがサインインしたときに 1 つのロールしか取得できません。