Article d’origine publié le dimanche 8 mai 2011

Un scénario plus fréquent dans SharePoint 2010 consiste à utiliser une zone unique pour plusieurs fournisseurs d’authentification. Les programmeurs optent notamment pour cette option s’ils souhaitent utiliser une forme d’authentification basée sur les revendications, telle que FBA ou SAML, mais veulent également ajouter des revendications Windows afin que la zone puisse être indexée par le robot d’indexation de SharePoint. Cette approche pose deux problèmes :

  1. Les utilisateurs accèdent à une page de sélection de connexion où ils doivent décider de sélectionner une authentification Windows ou un autre type d’authentification.
  2. Lorsque des utilisateurs sont ajoutés à un site (ou lors de toute opération impliquant le sélecteur de personnes), ils verront des utilisateurs Active Directory dans les résultats du sélecteur avec des utilisateurs des fournisseurs d’authentification basée sur les revendications qu’ils utilisent.

Que pouvons-nous faire à ce sujet ? Pour résoudre le premier problème, nous pouvons écrire une page de sélection de connexion personnalisée. J’ai déjà couvert ce scénario dans mon article de la page http://blogs.msdn.com/b/sharepoint_fr/archive/2011/06/27/contournement-de-la-page-de-s-233-lection-des-fournisseurs-d-authentication-multiples-dans-sharepoint-2010.aspx. Mais comment résoudre le deuxième problème, à savoir le masquage des utilisateurs AD dans les résultats de recherche du sélecteur de personnes ? Le CU d’avril 2011 nous sera très utile ! < REMARQUE RAPIDE : vous pouvez rencontrer des problèmes à cet égard dans le CU d’avril  ; le CU de juin présentera une version mise à jour. Vos conditions peuvent varier, nous vous invitons donc à faire des tests.> Une fois que vous avez appliqué le CU, vous verrez que votre SPClaimProviderDefinitions inclut maintenant la nouvelle propriété « IsVisible ». Il suffit de lui attribuer la valeur false pour que le fournisseur Active Directory n’apparaisse plus lors de l’utilisation du sélecteur de personnes.

Voici un petit extrait de code PowerShell qui montre comment procéder :

$cpm = Get-SPClaimProviderManager
$ad = get-spclaimprovider -identity "AD"
$ad.IsVisible = $false
$cpm.Update()

Quelques précisions :

  1. La commande PowerShell Get-SPClaimProvider renvoie SPClaimProviderDefinition, donc pas de problème ici.
  2. L’identité « AD » est employée car c’est le nom interne du fournisseur Active Directory.

Dans mes tests limités je n’ai même pas dû effectuer un IISRESET après avoir apporté cette modification ; j’ai pu directement constater qu’Active Directory ne figurait plus dans la liste de fournisseurs d’authentification dans le volet gauche du sélecteur de personnes. Inversement, lors de la modification opposée, il est réapparu immédiatement sans IISRESET.

À ce moment, la plus grande restriction est le risque qu'il n'apparaisse pas, vous pouvez toutefois forcer ce paramètre au niveau d'une zone, ce qui devrait être idéal. Si je trouve une autre solution, je mettrai à jour cet article.

 

 

 

Ce billet de blog a été traduit de l’anglais. L’article d’origine est disponible ici : Hiding Default Authentication Providers in SharePoint 2010