Gewusst wie: Erstellen eines Forderungsanbieters
Letzte Änderung: Mittwoch, 23. März 2011
Gilt für: SharePoint Foundation 2010
Ein Forderungsanbieter gibt Forderungen heraus und packt Forderungen in Sicherheitstoken. Ein Forderungsanbieter erfüllt zwei Aufgaben: Erweiterung und Auswahl.
Mit der Forderungserweiterung kann eine Anwendung das Benutzertoken mit zusätzlichen Forderungen erweitern. Bei einer Windows-basierten Anmeldung kann der Active Directory-Verzeichnisdienst z. B. alle Sicherheitsgruppen eines Benutzers in das Windows-Token des Benutzers erweitern. 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.
Forderungen können im Personenauswahl-Steuerelement über die Forderungsauswahl angezeigt werden. 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. |
Wenn Sie einen Forderungsanbieter schreiben möchten, müssen Sie zunächst eine Klasse erstellen, die von der SPClaimProvider-Klasse abgeleitet ist.
Tipp |
---|
Ein Codebeispiel und weitere Informationen zur SPClaimProvider-Klasse und ihren Membern finden Sie unter SPClaimProvider. |
Erforderliche Implementierungen
Es folgen die erforderlichen Methoden und Eigenschaften zum Schreiben eines Forderungsanbieters.
Erforderlich
Die folgende Name-Eigenschaft ist erforderlich. Der Name muss in der Farm eindeutig sein.
public abstract String Name
Erforderlich für die Forderungsauswahl
Forderungen können im Personenauswahl-Steuerelement über die Forderungsauswahl angezeigt werden. Die folgenden Methoden in der SPClaimProvider-Klasse sind erforderlich, wenn Sie die Forderungsauswahl 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 die Forderungserweiterung
Wenn Sie zusätzliche Forderungen in das Sicherheitstoken eines Benutzers einschließen, erweitern Sie Forderungen. Wenn Sie Forderungen 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 Forderungsauswahl 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 Forderungen mithilfe des Eingabesteuerelements der Forderungsauswahl 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 nach Forderungen in der Forderungsauswahl 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
Die folgende Hilfsmethode können Sie implementieren, damit Sie sie beim Erstellen von SPClaim-Objekten unterstützt.
protected SPClaim CreateClaim(String claimType, String value, String valueType)