Publié dimanche 12 septembre 2010 22:59 par Arnault Nouvel

SharePoint 2010 : Configuration de l’authentification par formulaire avec annuaire AD-LDS (partie 3 – configuration de l’authentification par formulaire)

Ce billet fait partie d’une série :

Ce tutorial requiert que SharePoint 2010 soit installé, que la partition AD-LDS qui contient nos utilisateurs aie été configurée, et que les comptes de services utilisés par SharePoint y aient accès en lecture. Pour les détails, voir partie 2.

Nous allons maintenant créer une nouvelle application web SharePoint en authentification par formulaire.

1. Creation de l'application web

L'authentification par formulaire sous SharePoint 2010 repose toujours sur le système du MembershipProvider hérité d'ASP.NET, qui permet de générer une identité à partir d'un système tiers. On ne pourra cependant utiliser l'authentification par formulaire que si on configure notre application web en mode claims.

Dans l'administration centrale, cliquer sur le lien "Manage Web Applications". Dans le ruban, cliquer sur "New" pour ouvrir la fenêtre de création d'application web.

On coche "Claims authentication mode", on indique optionnellement un nom de domaine (nécessite de définir un alias DNS), et dans la partie claims authentication on coche "Forms Authentication Mode" en indiquant un nom pour le membership provider et un autre pour le role provider.

18-creation-webapp-1

19-creation-webapp-2

On ne décochera pas “Windows Authentication” sous peine de ne pas pouvoir faire fonctionner la recherche.
Un contournement possible pour ne pas avoir l’authentification Windows tout en conservant la recherche serait de passer par une extension d’application web : une application web avec authentification Windows pour la recherche, une autre avec authentification par formulaire pour les utilisateurs.

Nous allons maintenant devoir expliquer à SharePoint à quoi correspondent “AdldsMember” et “AdldsRole”. En l'occurrence nous allons les associer au LdapMembershipProvider fournit avec SharePoint Server 2010 qui permet d'exploiter LDAP générique. Il est donc parfaitement adapté à AD-LDS.

Ce paramétrage s’effectue au niveau des fichiers web.config des applications web suivantes :

  • Administration centrale
  • Secure Store Service
  • L’application web que nous venons de créer

 

2. Modification du web.config de l'administration centrale

Ouvrir le fichier C:\inetpub\wwwroot\wss\VirtualDirectories\55555\web.config (55555 correspondant au numéro de port de l'administration centrale, il varie d'un environnement à l'autre).

Remplacer les nœuds membership et roleManager par le bloc suivant :

<membership>

   <providers>

      <add name="AdldsMember"    

           type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"

           server="annuaire.extranet.test"

           port="389"

           useSSL="false"

           userDNAttribute="distinguishedName"

           userNameAttribute="cn"

           userContainer="OU=Users,OU=extranet,DC=annuaire,DC=extranet,DC=test"

           userObjectClass="user"

           userFilter="(ObjectClass=user)"

           scope="Subtree"

           otherRequiredUserAttributes="sn,givenname,cn" />

  </providers>

</membership>

<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" >

   <providers>

      <add name="AdldsRole"

            type="Microsoft.Office.Server.Security.LdapRoleProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"

            server="annuaire.extranet.test"

            port="389"

            useSSL="false"

            groupContainer="OU=Users,OU=extranet,DC=annuaire,DC=extranet,DC=test"

            groupNameAttribute="cn"

            groupNameAlternateSearchAttribute="cn"

            groupMemberAttribute="member"

            userNameAttribute="cn"

            dnAttribute="distinguishedName"

            groupFilter="(ObjectClass=group)"

            userFilter="(ObjectClass=user)"

            scope="Subtree" />

   </providers>

</roleManager>

Afin de faire fonctionner la filtrage dans le sélecteur de personnes, une modification nécessaire s’impose.
Dans le nœud PeoplePickerWildcards, ajouter les entrées pour AdldsMember et AdldsRole comme indiqué ci-dessous :

<PeoplePickerWildcards>

      <clear />

      <add key="AspNetSqlMembershipProvider" value="%" />

      <add key="AdldsMember" value="*" />
      <add key="AdldsRole" value="*" />
</PeoplePickerWildcards>

Seules les parties surlignées en jaunes sont à modifier en fonction l'annuaire cible.

Enregistrer le fichier.

3. Modification du web.config du Secure Store Service

Ouvrir le fichier : C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\WebServices\SecurityToken\web.config

A l’intérieur du nœud <configuration>, copier le XML suivant :

<membership>

   <providers>

        <add name="AdldsMember"

             type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"

             server="annuaire.extranet.test"

             port="389"

             useSSL="false"

             userDNAttribute="distinguishedName"

             userNameAttribute="cn"

             userContainer="OU=Users,OU=extranet,DC=annuaire,DC=extranet,DC=test"

             userObjectClass="user"

             userFilter="(ObjectClass=user)"

             scope="Subtree"

             otherRequiredUserAttributes="sn,givenname,cn" />

   </providers>

</membership>
<roleManager enabled="true" defaultProvider="AdldsRole" >

   <providers>

        <add name="AdldsRole"

             type="Microsoft.Office.Server.Security.LdapRoleProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"

             server="annuaire.extranet.test"

             port="389"

             useSSL="false"

             groupContainer="OU=Users,OU=extranet,DC=annuaire,DC=extranet,DC=test"

             groupNameAttribute="cn"

             groupNameAlternateSearchAttribute="cn"

             groupMemberAttribute="member"

             userNameAttribute="cn"

             dnAttribute="distinguishedName"

             groupFilter="(ObjectClass=group)"

             userFilter="(ObjectClass=user)"

             scope="Subtree" />

   </providers>

</roleManager>

 

Enregistrer le fichier.

4. Modification du web.config de l'application web

Ouvrir maintenant le fichier web.config de l'application web créée plus haut : C:\inetpub\wwwroot\wss\VirtualDirectories\portail.extranet.test80\web.config (le nom du répertoire change en fonction du host header et du numéro de port)

A l'intérieur du nœud membership, copier le XML suivant (en conservant les autres nœuds existants):

<add name="AdldsMember"

     type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"

     server="annuaire.extranet.test"

     port="389"

     useSSL="false"

     userDNAttribute="distinguishedName"

     userNameAttribute="cn"

     userContainer="OU=Users,OU=extranet,DC=annuaire,DC=extranet,DC=test"

     userObjectClass="user"

     userFilter="(ObjectClass=user)"

     scope="Subtree"

     otherRequiredUserAttributes="sn,givenname,cn" />

A l'intérieur du nœud roleManager, copier le XML suivant (en conservant les autres nœuds existants):

<add name="AdldsRole"

     type="Microsoft.Office.Server.Security.LdapRoleProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"

     server="annuaire.extranet.test"

     port="389"

     useSSL="false"                   

     groupContainer="OU=Users,OU=extranet,DC=annuaire,DC=extranet,DC=test"

     groupNameAttribute="cn"

     groupNameAlternateSearchAttribute="cn"

     groupMemberAttribute="member"

     userNameAttribute="cn"

     dnAttribute="distinguishedName"

     groupFilter="(ObjectClass=group)"

     userFilter="(ObjectClass=user)"

     scope="Subtree" />

 

Dans le nœud PeoplePickerWildcards, ajouter les entrées pour AdldsMember et AdldsRole comme indiqué ci-dessous :

<PeoplePickerWildcards>

      <clear />

      <add key="AspNetSqlMembershipProvider" value="%" />

      <add key="AdldsMember" value="*" />
      <add key="AdldsRole" value="*" />
</PeoplePickerWildcards>

Enregistrer le fichier, puis éxecuter iisreset.exe.

5. Création de la collection de sites racine de l'application web

Naviguer dans l'administration centrale dans "Applications management", et cliquer sur "Create Site Collection". Sélectionner l'application web pour laquelle nous avons configuré l'authentification par formulaire, et donner un nom à la collection de sites.

Ouvrir la fenêtre de sélection d'utilisateur pour définir l'administrateur de la collection de sites, on retrouve alors nos utilisateurs de l’annuaire AD-LDS dans la catégorie "Forms Auth". Sélectionner user1, et valider la création de la collection de sites.

20-sitecoladmin

Se connecter maintenant à l'application web (dans l'exemple, http://portail.extranet.test). On nous propose alors de choisir un mode d'authentification, choisir "Forms Authentication" puis saisir les credentials de user1.

21-auth

22-auth2

23-auth3

L’authentification par formulaire est maintenant opérationnelle.

Bien qu’optionnelle vis à vis de l’authentification par formulaire, la 4ème partie de cette série de billets explique comment répliquer l’instance AD-LDS sur un second serveur et comment configurer la répartition de charge réseau afin d’assurer une haute disponibilité sur l’annuaire AD-LDS : Partie 4 : haute disponibilité de l’annuaire AD-LDS

 

Arnault Nouvel – Winwise

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

# re: SharePoint 2010 : Configuration de l’authentification par formulaire avec annuaire AD-LDS (partie 3 – configuration de l’authentification par formulaire) @ mardi 18 janvier 2011 00:37

Petite remarque concernant la modification du web.config du Secure Store Service : il s'agit d'insérer le xml fourni dans

<cconfiguration><system.web>...</system.web>

:)

Kype

# re: SharePoint 2010 : Configuration de l’authentification par formulaire avec annuaire AD-LDS (partie 3 – configuration de l’authentification par formulaire) @ jeudi 14 avril 2011 11:14

Bonjour,

Je me suis basé sur votre tutoriel pour réaliser un poc pour un client. Mon authentification FBA fonctionne par contre j'ai les mêmes soucis que sur MOSS 2007 en terme d'intégration avec la gamme Office (ex:Demande d'authentification lors de l'édition d'un document word). Avez-vous le même soucis ou est ce que ce problème persiste sur SharePoint 2010?

Merci

masa9210


Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01