ClaimsAuthenticationManager クラス

定義

クレーム認証マネージャーの基本実装を定義します。 要求認証マネージャーは、実行がアプリケーション コードに到達する前に、受信プリンシパルの要求コレクションに処理ロジック (フィルター処理、検証、拡張機能) を適用するための要求処理パイプライン内の場所を提供します。

public ref class ClaimsAuthenticationManager : System::IdentityModel::Configuration::ICustomIdentityConfiguration
public class ClaimsAuthenticationManager : System.IdentityModel.Configuration.ICustomIdentityConfiguration
type ClaimsAuthenticationManager = class
    interface ICustomIdentityConfiguration
Public Class ClaimsAuthenticationManager
Implements ICustomIdentityConfiguration
継承
ClaimsAuthenticationManager
実装

次のコードは、受信要求のチェックを実行せずに、受信プリンシパルにロール要求を追加する単純な要求認証マネージャーを示しています。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Security.Claims;

namespace MyClaimsAuthenticationManager
{
    class SimpleClaimsAuthenticatonManager : ClaimsAuthenticationManager
    {
        public override ClaimsPrincipal Authenticate(string resourceName, ClaimsPrincipal incomingPrincipal)
        {
            if (incomingPrincipal != null && incomingPrincipal.Identity.IsAuthenticated)
            {
                ((ClaimsIdentity)incomingPrincipal.Identity).AddClaim(new Claim(ClaimTypes.Role, "User"));
            }
            return incomingPrincipal; 
        }
    }
}

次の XML は、 <claimsAuthenticationManager> 要素を示しています。

<system.identityModel>
  <identityConfiguration>
    <claimsAuthenticationManager type="MyClaimsAuthenticationManager.SimpleClaimsAuthenticatonManager, MyClaimsAuthenticationManager" />

    ...

  </identityConfiguration>
</system.identityModel>

注釈

要求認証マネージャーは、アプリケーションの要求処理パイプラインに拡張ポイントを提供します。この機能は、RP アプリケーション コードが実行される前に、 ClaimsPrincipal によって提示された要求のセットに対して検証、フィルター処理、変更、受信要求、または新しい要求の挿入に使用できます。 RP アプリケーションで必要な場合は、 ClaimsPrincipal のカスタム実装を返すことさえできます。 ClaimsAuthenticationManager クラスによって提供される既定の実装では、変更されていないClaimsPrincipalの要求が返されます。ただし、このクラスから派生し、Authenticate メソッドをオーバーライドして、ClaimsPrincipal内の要求を変更 (またはカスタム ClaimsPrincipalを返す) ことができます。

カスタムクレーム認証マネージャーを作成する一般的な理由は、RP アプリケーションによってのみ、またはおそらくより適切に管理されている情報に基づいて、要求を追加、削除、または変換することです。 たとえば、ショッピング カート アプリケーションでの顧客購入の履歴は、RP アプリケーションによって管理されているデータ ベースに保持され、受信プリンシパルで見つかった名前要求の値に基づいて、クレーム認証マネージャーによって返されるクレーム プリンシパルに追加される場合があります。

IdentityConfiguration クラスを使用するか、<claimsAuthenticationManager> 要素 (<identityConfiguration> 要素の子要素) を使用して構成することで、ClaimsAuthenticationManagerを使用するようにアプリケーションを構成できます。 LoadCustomConfiguration メソッドをオーバーライドして、カスタム マネージャーを構成できる<claimsAuthenticationManager>要素のカスタム子要素の処理を提供できます。 ClaimsAuthenticationManagerの基本実装では、子要素は処理されません。

要求認証マネージャーを使用するようにアプリケーションを構成すると、要求パイプラインから Windows Identity Foundation (WIF) によって呼び出されるようになります。

コンストラクター

名前 説明
ClaimsAuthenticationManager()

ClaimsAuthenticationManager クラスの新しいインスタンスを初期化します。

メソッド

名前 説明
Authenticate(String, ClaimsPrincipal)

派生クラスでオーバーライドされると、RP アプリケーションの要件と一致する ClaimsPrincipal オブジェクトが返されます。 既定の実装では、受信 ClaimsPrincipalは変更されません。

Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
LoadCustomConfiguration(XmlNodeList)

派生クラスでオーバーライドされると、XML からカスタム構成を読み込みます。

MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象