クレーム プロバイダーを作成する

最終更新日: 2011年3月23日

適用対象: SharePoint Foundation 2010

クレーム プロバイダーはクレームを発行し、セキュリティ トークンにパッケージ化します。クレーム プロバイダーには、拡張と選択の 2 つのロールがあります。

クレーム拡張により、アプリケーションが追加のクレームをユーザーのトークンに拡張できます。たとえば、Window ベースのログインでは、Active Directory ディレクトリ サービスがすべてのユーザーのセキュリティ グループをユーザーの Windows トークンに拡張できます。クレーム ベースのログインでは、カスタマー リレーションシップ マネジメント (CRM) アプリケーションが CRM からロールを拡張できます。これらのクレームをユーザーのトークンに含めることで、そのクレームに対してリソースを承認できます。つまり、これらのクレームを使用して、特定のユーザーが特定のリソースにアクセスできるかどうかを決定できます。

クレームをユーザー選択ウィンドウ コントロールに表示するには、クレーム選択を使用します。クレーム選択を使用すると、たとえば、SharePoint サイトまたは SharePoint サービスのセキュリティを構成しているときに、アプリケーションのユーザー選択ウィンドウにクレームを表示できます。この機能により、クレームの検索、解決、およびわかりやすい表示を提供することができます。

注意

クレーム選択機能を備えたユーザー選択ウィンドウは、"クレーム選択" と呼ばれることがあります。

クレーム プロバイダーを記述するには、まず、SPClaimProvider クラスから派生するクラスを作成します。

ヒントヒント

SPClaimProvider クラスとそのメンバーに関するコード例と詳細については、「SPClaimProvider」を参照してください。

必須の実装

クレーム プロバイダーを記述するときの必須のメソッドとプロパティを次に示します。

必須

次の Name プロパティは必須です。名前は、ファーム全体で一意である必要があります。

public abstract String Name
      

クレーム選択における必須要素

クレームをユーザー選択ウィンドウ コントロールに表示するには、クレーム選択を使用します。ユーザー選択ウィンドウ コントロールでクレーム選択を実装する必要がある場合は、SPClaimProvider クラスの次のメソッドが必須です。

protected abstract void FillSchema(SPProviderSchema schema);
     protected abstract void FillClaimTypes(List<String> claimTypes);
     protected abstract void FillClaimValueTypes(List<String> claimValueTypes);
     protected abstract void FillEntityTypes(List<String> entityTypes);

クレーム拡張における必須要素

追加のクレームをユーザーのセキュリティ トークンに含めることで、クレームを拡張します。クレームを拡張するには、SPClaimProvider クラスで次のメソッドを実装する必要があります。

public abstract bool SupportsEntityInformation
      protected abstract void FillClaimsForEntity(Uri context, SPClaim entity, List<SPClaim> claims);

クレーム選択の左ウィンドウに階層を表示するための必須要素

クレーム選択の左ウィンドウに階層を表示するには、SPClaimProvider クラスで次のメソッドを実装する必要があります。

public abstract bool SupportsHierarchy
     protected abstract void FillHierarchy(Uri context, String[] entityTypes, String hierarchyNodeID, int numberOfLevels, bool includeEntityData, SPProviderHierarchyTree hierarchy);

クレーム選択の入力コントロールでクレームを解決するための必須要素

クレーム選択の入力コントロールを使用してクレームを解決できるようにするには、SPClaimProvider クラスで次のメソッドを実装する必要があります。

public abstract bool SupportsResolve
     protected abstract void FillResolve(Uri context, String[] entityTypes, String resolveInput, List<PickerEntity> resolved);
     protected abstract void FillResolve(Uri context, String[] entityTypes, SPClaim resolveInput, List<PickerEntity> resolved);

クレーム選択でクレームを検索するための必須要素

クレーム選択でクレームを検索できるようにするには、SPClaimProvider クラスで次のプロパティとメソッドを実装する必要があります。

public abstract bool SupportsSearch
     protected abstract void FillSearch(Uri context, String[] entityTypes, String searchPattern, String hierarchyNodeID, int maxCount, SPProviderHierarchyTree searchTree);

便利なヘルパー メソッド

ヘルパー メソッドを実装することもできます。このヘルパー メソッドは、SPClaim オブジェクトの作成に役立ちます。

SPClaim オブジェクトの作成に役立つヘルパー メソッド

SPClaim オブジェクトを作成するために実装できるヘルパー メソッドを次に示します。

protected SPClaim CreateClaim(String claimType, String value, String valueType)

関連項目

概念

クレーム プロバイダー