クレーム プロバイダーを作成する
最終更新日: 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)