Sharepoint 2010: Authentification FBA avec annuaire LDAP Domino™
Nous avons eu des incidents ou le rootDSE utilise le caractère espace, par exemple pour IBM Lotus Domino™ version 8.x.
Ce post détaille la configuration d’un provider LDAP membership lorsque l’annuaire LDAP utilise “ “ (le caractère espace) comme racine. Ce post s’applique à SharePoint 2010.
1 – Description du problème
Un paramétrage du champs userContainer dans web.config comme suit:
userContainer=” “
n’est pas correct.
2 – Comment spécifier un caractère d’espacement dans un fichier de configuration ?
Il convient d’utiliser " pour représenter les guillemets. Par exemple :
userContainer="" ""
et
groupContainer="" ""
Je fournis ci-après quelques exemples de fichiers de configuration. Peut-être vous aideront-ils à définir votre configuration.
3 – Quels fichiers de configuration faut-il éditer en Sharepoint 2010 ?
L’administration centrale, la WebApp de contenu, le service timer et le STS.
4 - Exemple de fichier de configuration pour le une WebApp de contenu
Le fichier de configuration est fourni tel quel, sans aucune garantie de bon fonctionnement. Vous devez modifier le fichier de configuration en fonction de votre environnement
<PeoplePickerWildcards>
<clear />
<add key="AspNetSqlMembershipProvider" value="%" />
<add key="LdapMember" value="*"/>
<add key="LdapRole" value="*"/>
</PeoplePickerWildcards>
et
<membership defaultProvider="i">
<providers>
<add name="i" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
<add name="LdapMember"
type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
server="<votreserveurLDAP>"
connectionUsername="<CN=….,O=…>"
connectionPassword="<votreMotDePasse>"
port="389"
useSSL="false"
useDNAttribute="false"
userDNAttribute="cn"
userNameAttribute="uid"
userContainer="" ""
userObjectClass="*" userFilter="(|(listcategory=portal)(ObjectClass=dominoPerson))" scope="Subtree"
otherRequiredUserAttributes="sn,givenname,cn,uid" />
</providers>
</membership>
<roleManager defaultProvider="c" enabled="true" cacheRolesInCookie="false">
<providers>
<add name="c"
type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
<add name="LdapRole"
type="Microsoft.Office.Server.Security.LdapRoleProvider, Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
server="<votreserveurLDAP>"
connectionUsername="<CN=….,O=…>"
connectionPassword="<votreMotDePasse>"
port="389"
useSSL="false"
groupContainer="" ""
groupNameAttribute="cn"
groupMemberAttribute="member"
userNameAttribute="uid"
dnAttribute="cn"
groupFilter="(ObjectClass=dominoGroup)"
scope="Subtree" />
</providers>
</roleManager>
NB : connectionUsername et connectionPassword sont présents également dans la définition du role provider.