1

ADFSを使用してユーザーを認証し、以下のステートメントを使用してユーザーエイリアスを取得することに成功しました。しばらくしてから、電子メール、名前、役割、ユーザー名など、認証されたユーザーの他のクレームを取得する方法を探しています。

これに関する助けをいただければ幸いです。

文字列エイリアス=((MicrosoftAdfsProxyRP.MicrosoftPrincipal)HttpContext.Current.User).Alias;

Response.Write(エイリアス);

4

3 に答える 3

2

他のクレームを取得するクレームの方法は次のとおりです。

IClaimsPrincipalclaimsPr =(IClaimsPrincipal)(HttpContext.Current.User)クレームの原則から、IClaimsIdentityを介してClaimsIdentityCollectionを取得できます。

ClaimsPr.IdentifiedsからIClaimsIdentityを取得します。

次に、Claimsプロパティを使用して、IClaimsIdentityに存在するすべてのクレームを検査します。

于 2010-03-28T05:45:33.227 に答える
2

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>";
    }
}
于 2011-02-28T00:27:34.370 に答える
2

あなたは、Microsoft の内部サービスとインターフェイスについて世界に質問しています。msftadfsproxydiscエイリアスに質問をメールで送信してみてください。

于 2010-03-30T03:46:00.587 に答える