Freigeben über


Erstellen eines Anspruchsanbieters in SharePoint

In diesem Artikel erfahren Sie, wie ein SharePoint-Anspruchsanbieter erstellt und implementiert wird, der die Voraussetzungen für die Steigerung von Ansprüchen und die Auswahl von Ansprüchen erfüllt.

Ein Forderungsanbieter gibt Forderungen heraus und packt Forderungen in Sicherheitstoken. Ein Forderungsanbieter erfüllt zwei Aufgaben: Erweiterung und Auswahl.

Durch die Anspruchserweiterung kann eine Anwendung zusätzliche Ansprüche in das Token des Benutzers aufnehmen. Beispielsweise kann bei der Windows-basierten Anmeldung der Active Directory-Verzeichnisdienst alle Sicherheitsgruppen eines Benutzers in das Windows-Token des Benutzers aufnehmen. Bei einer forderungsbasierten Anmeldung kann eine CRM-Anwendung (Customer Relationship Management, Kundenbeziehungsmanagement) Rollen aus einer CRM-Datenbank erweitern. Wenn diese Forderungen im Benutzertoken enthalten sind, können Ressourcen für diese Forderungen autorisiert werden. Mit diesen Forderungen wird also bestimmt, ob ein bestimmter Benutzer Zugriff auf spezifische Ressourcen hat. Claims can be displayed in the people picker control through claims picking. Mit der Forderungsauswahl kann eine Anwendung Forderungen in der Personenauswahl anzeigen, beispielsweise beim Konfigurieren der Sicherheit einer SharePoint-Website oder eines SharePoint-Diensts. Mithilfe dieser Funktionalität können Sie die Suche, das Auflösen und den angezeigten Namen von Forderungen bereitstellen.

Hinweis

Eine Personenauswahl mit einer Funktion zur Forderungsauswahl wird manchmal auch als Forderungsauswahl bezeichnet. Weitere Informationen finden Sie unter Personen- und Anspruchsanbieterplanung.

Zum Schreiben eines Anspruchsanbieters erstellen Sie im ersten Schritt eine Klasse, die von der Klasse SPClaimProvider abgeleitet wird.

Tipp: Ein Codebeispiel und weitere Informationen zur Klasse SPClaimProvider und ihren Membern finden Sie unter SPClaimProvider. Exemplarische Vorgehensweisen, Tipps und Codebeispiele finden Sie unter Ansprüche und Sicherheit: Technische Artikel auf MSDN.

Erforderliche Implementierungen

Es folgen die erforderlichen Methoden und Eigenschaften zum Schreiben eines Forderungsanbieters.

Erforderlich

Die folgende Name-Eigenschaft ist eine erforderliche Eigenschaft. Der Name muss in der Farm eindeutig sein.


public abstract String Name

Erforderlich für Anspruchsauswahl

Ansprüche können im Personenauswahl-Steuerelement durch Auswahl von Ansprüchen angezeigt werden. Die folgenden Methoden in der SPClaimProvider-Klasse sind erforderliche Methoden, wenn Sie die Anspruchsauswahl im Personenauswahl-Steuerelement implementieren möchten.


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);

Erforderlich für Anspruchsaugmentation

Wenn Sie zusätzliche Forderungen in das Sicherheitstoken eines Benutzers einschließen, erweitern Sie Forderungen. Wenn Sie Ansprüche erweitern möchten, müssen Sie die folgenden Methoden in der SPClaimProvider-Klasse implementieren.


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

Erforderlich zum Anzeigen der Hierarchie im linken Bereich der Forderungsauswahl

Wenn Sie die Hierarchie im linken Bereich der Anspruchsauswahl anzeigen möchten, müssen Sie die folgenden Methoden in der SPClaimProvider-Klasse implementieren.


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

Erforderlich für das Auflösen von Forderungen im Eingabesteuerelement der Forderungsauswahl

Wenn Sie Ansprüche mithilfe des Typ-In-Steuerelements der Anspruchsauswahl auflösen möchten, müssen Sie die folgenden Methoden in der SPClaimProvider-Klasse implementieren.


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);

Erforderlich für die Suche nach Forderungen in der forderungsauswahl

Wenn Sie in der Anspruchsauswahl nach Ansprüchen suchen möchten, müssen Sie die folgende Eigenschaft und Methode in der SPClaimProvider-Klasse implementieren.


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

Nützliche Hilfsmethode

Sie können auch eine Hilfsmethode implementieren, die Sie beim Erstellen von SPClaim-Objekten unterstützt.

Nützliche Hilfsmethode zum Erstellen von SPClaim-Objekten

Im Folgenden finden Sie eine Hilfsmethode, die Sie implementieren können, um SpClaim-Objekte zu erstellen.


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

Siehe auch