Friday, December 2, 2011

Come configurare un’autenticazione claims e forms con un provider LDAP su Sharepoint 2010

Ultimamente ho dovuto configurare una sorgente ldap su Sharepoint 2010 per far sì che il profilo utente fosse disponibile sia in autenticazione form che in windows.
Ovviamente come sorgente LDAP ho usato Active Directory su una macchina Windows 2008 R2.
Una volta configurato il sistema di accesso (vediamo fra poco come), la pagina di login diverrà una solamente, con la possibilità di selezionare come identificarsi:
signin_6209cff5-0cb4-4fca-82be-bc3b5369b7f1

PREREQUISITO

E’ necessario che la vostra applicazione sia configurata in Integrated Windows Authentication NTLM e che  sia abilitato l’FBA

00089841-82F5-4012-9E93-B37576580D52

Fatto quanto sopra dovremo modificare 3 web.config:
  1. Central Administration
  2. Security Token Service
  3. Web application

  1. Apriamo il web.config del Central Administration e aggiungiamo i dati inerenti al provider da usare sotto il tag system.web:
<membership>
   <providers>
      <add name="LdapMember" 
         type="Microsoft.Office.Server.Security.LdapMembershipProvider,
 Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral,
 PublicKeyToken=71e9bce111e9429c" 
         server="dc.myldapserver.com" 
         port="389" 
         useSSL="false" 
         userDNAttribute="distinguishedName" 
         userNameAttribute="sAMAccountName" 
         userContainer="OU=SPUsers,DC=myldapserver,DC=com" 
         userObjectClass="person" 
         userFilter="(ObjectClass=person)" 
         scope="Subtree" 
         otherRequiredUserAttributes="sn,givenname,cn" />
   providers>
membership>

<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" > 
   <providers>
      <add name="LdapRole"
         type="Microsoft.Office.Server.Security.LdapRoleProvider, 
Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, 
PublicKeyToken=71e9bce111e9429c"
         server="dc.myldapserver.com" 
         port="389"
         useSSL="false"
         groupContainer="OU=SPUsers,DC=sharepoint,DC=com"
         groupNameAttribute="cn"
         groupNameAlternateSearchAttribute="samAccountName"
         groupMemberAttribute="member"
         userNameAttribute="sAMAccountName"
         dnAttribute="distinguishedName"
         groupFilter="(ObjectClass=group)"
         userFilter="(ObjectClass=person)"
         scope="Subtree" />
   providers>
roleManager>

sotto il tag
<clear />
<add key="AspNetSqlMembershipProvider" value="%" />
<add key="LdapMember" value="*"/>
<add key="LdapRole" value="*"/>

adesso ripetiamo la stessa cosa negli altri due web.config
2.  Nel tag system.web del Security Token Service e nella web application riscriviamo nel provider LdapMember e il roleManager inserito sopra
unica differenza, il PeoplePickerWildcards non dovete inserirlo nel Security Token Service ma solamente nella web application (ovviamente come detto prima anche sul Central Administration)
Fatto questo dovrebbe essere tutto funzionante.

No comments:

Post a Comment