Créer un fournisseur de revendications dans SharePoint

Découvrez comment créer et implémenter un fournisseur de revendications SharePoint qui remplit les conditions requises pour l'augmentation des revendications et sélection des revendications.

Un fournisseur de revendications émet des revendications et les regroupe dans des jetons de sécurité. Un fournisseur de revendications joue deux rôles : augmentation et sélection.

L’augmentation des revendications permet à une application d’augmenter des revendications supplémentaires dans le jeton de l’utilisateur. Par exemple, avec la connexion basée sur Windows, le service d’annuaire Active Directory peut augmenter tous les groupes de sécurité d’un utilisateur dans le jeton Windows de l’utilisateur. Avec la connexion basée sur les revendications, une application de gestion de relation client (CRM, Customer Relationship Management) peut augmenter des rôles à partir d’une base de données CRM. Grâce à leur présence dans le jeton de l’utilisateur, ces revendications peuvent déterminer si les ressources sont autorisées. En d’autres termes, ces revendications permettent de déterminer si un utilisateur donné a accès à des ressources spécifiques. Les revendications peuvent être affichées dans le contrôle du sélecteur de personnes par le biais de la sélection des revendications. La sélection des revendications permet à une application d’exposer des revendications dans le sélecteur de personnes, par exemple lors de la configuration de la sécurité d’un site SharePoint ou d’un service SharePoint. Cette fonctionnalité facilite la recherche, la résolution et l’affichage convivial des revendications.

Remarque

[!REMARQUE] Un sélecteur de personnes avec la fonctionnalité de sélection des revendications est parfois appelé un sélecteur de revendications. Pour plus d’informations, consultez Personnes sélecteur et planification du fournisseur de revendications.

Pour écrire un fournisseur de revendications, la première étape consiste à créer une classe qui dérive de la classe SPClaimProvider.

Pointe: Pour obtenir un exemple de code et plus d’informations sur la classe SPClaimProvider et ses membres, consultez SPClaimProvider . Pour les procédures pas à pas, des conseils et des exemples de code, consultez la rubrique basée sur les revendications et sécurité : articles techniques et des exemples de code sur MSDN.

Implémentations requises

Les méthodes et les propriétés suivantes sont obligatoires lors de l’écriture d’un fournisseur de revendications.

Requis

La propriété Name suivante est une propriété obligatoire. Le nom doit être unique dans la batterie de serveurs.


public abstract String Name

Obligatoires pour le sélecteur de revendications

Les revendications peuvent être affichées dans le contrôle du sélecteur de personnes par le biais de la sélection des revendications. Les méthodes suivantes de la classe SPClaimProvider sont des méthodes obligatoires si vous souhaitez implémenter la sélection de revendications dans le contrôle sélecteur de personnes.


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

Obligatoires pour l'augmentation des revendications

Lorsque vous incluez des revendications supplémentaires dans le jeton de sécurité d’un utilisateur, vous augmentez les revendications. Si vous souhaitez augmenter les revendications, vous devez implémenter les méthodes suivantes dans la classe SPClaimProvider .


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

Obligatoire pour l’affichage de la hiérarchie dans le volet gauche du sélecteur de revendications

Si vous souhaitez afficher la hiérarchie dans le volet gauche du sélecteur de revendications, vous devez implémenter les méthodes suivantes dans la classe SPClaimProvider .


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

Requis pour résoudre les revendications dans le contrôle de saisie du sélecteur de revendications

Si vous souhaitez pouvoir résoudre des revendications à l’aide du contrôle de saisie du sélecteur de revendications, vous devez implémenter les méthodes suivantes dans la classe 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);

Requis pour la recherche de revendications dans le sélecteur de revendications

Si vous souhaitez pouvoir rechercher des revendications dans le sélecteur de revendications, vous devez implémenter la propriété et la méthode suivantes dans la classe SPClaimProvider .


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

Méthode d’assistance utile

Vous pouvez également implémenter une méthode d’assistance pour vous aider à créer des objets SPClaim .

Méthode d’assistance utile pour créer des objets SPClaim

Voici une méthode d’assistance que vous pouvez implémenter pour vous aider à créer des objets SPClaim .


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

Voir aussi