ADFSを使用してユーザーを認証し、以下のステートメントを使用してユーザーエイリアスを取得することに成功しました。しばらくしてから、電子メール、名前、役割、ユーザー名など、認証されたユーザーの他のクレームを取得する方法を探しています。
これに関する助けをいただければ幸いです。
文字列エイリアス=((MicrosoftAdfsProxyRP.MicrosoftPrincipal)HttpContext.Current.User).Alias;
Response.Write(エイリアス);
ADFSを使用してユーザーを認証し、以下のステートメントを使用してユーザーエイリアスを取得することに成功しました。しばらくしてから、電子メール、名前、役割、ユーザー名など、認証されたユーザーの他のクレームを取得する方法を探しています。
これに関する助けをいただければ幸いです。
文字列エイリアス=((MicrosoftAdfsProxyRP.MicrosoftPrincipal)HttpContext.Current.User).Alias;
Response.Write(エイリアス);
他のクレームを取得するクレームの方法は次のとおりです。
IClaimsPrincipalclaimsPr =(IClaimsPrincipal)(HttpContext.Current.User)クレームの原則から、IClaimsIdentityを介してClaimsIdentityCollectionを取得できます。
ClaimsPr.IdentifiedsからIClaimsIdentityを取得します。
次に、Claimsプロパティを使用して、IClaimsIdentityに存在するすべてのクレームを検査します。
How to: Access Claims in an ASP.NET Page を参照してください。
リンクが消えた場合に備えて、キーは次のとおりです。
void Page_Load(object sender, EventArgs e)
{
// Cast the Thread.CurrentPrincipal
IClaimsPrincipal icp = Thread.CurrentPrincipal as IClaimsPrincipal;
// Access IClaimsIdentity which contains claims
IClaimsIdentity claimsIdentity = (IClaimsIdentity)icp.Identity;
// Access claims
foreach(Claim claim in claimsIdentity.Claims)
{
Response.Write(claim.ClaimType) + "<BR>";
Response.Write(claim.Value) + "<BR>";
Response.Write(claim.ValueType) + "<BR>";
}
}
あなたは、Microsoft の内部サービスとインターフェイスについて世界に質問しています。msftadfsproxydisc
エイリアスに質問をメールで送信してみてください。