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)