Module LDAP
LDAP | |
---|---|
Numéro/ID du module | 200 |
Doc utilisateur du module | Cette page |
Doc développeur du module | Module LDAP (développeur) |
Introduction
Le module LDAP permet de synchroniser des entités Dolibarr avec une base LDAP. Les entités qui peuvent être synchronisées et le sens sont les suivants:
- Utilisateurs (Module Utilisateurs) -> LDAP
- Groupes utilisateurs (Module Utilisateurs) -> LDAP
- LDAP -> Utilisateurs (Module Utilisateurs)
- Contacts (Module Tiers) -> LDAP
- Adhérents (Module Adhérents) -> LDAP
On suppose donc que vous possedez déjà un serveur LDAP. Si tel n'est pas le cas, vous pouvez Installer et configurer OpenLDAP.
Installation
Ce module est livré en standard avec la distribution de Dolibarr, aussi il est déjà installé.
Configuration
Pour utiliser ce module, il vous faut d'abord l'activer. Pour cela, après s'être connecté avec un compte administrateur, aller sur la page "Accueil - Configuration - Modules".
Choisissez l'onglet dans lequel apparaît le module puis cliquez sur "Activer".
Le module est alors activé.
Si un pictogramme apparaît sur la vignette ou à la fin de la ligne du module, cliquez dessus pour accéder à la page de paramétrage spécifique à ce module.
Les informations à fournir dans la configuration du module LDAP sont les suivantes:
- Choisissez ce que vous voulez synchroniser
- Entrez les informations du serveur LDAP :
- Ce que vous souhaitez synchroniser (utilisateurs, groupes, adhérents) et dans quel sens,
- Type : openLDAP, Active Directory, eGroupWare,
- Version : version du protocole LDAP (en général : 3 ),
- Serveur primaire : ldap://<hostname_ou_ip> , en mode sécurisé ldaps://<hostname_ou_ip>
- Serveur secondaire : idem primaire mais pour redondance en cas de panne du premier serveur LDAP,
- Port : 389 (ldap://) ou 636 (ldaps://),
- DN : niveau à partir duquel le module LDAP va commencer à chercher (en général DC=company,DC=com),
- Utilisation de TLS : oui ou non (en général : non),
- DN de l'administrateur (bind LDAP) : Utilisateur avec lequel vous allez demander à Dolibarr de faire les recherches (il faut un compte sans droit particulier),
- Mot de passe de l'administrateur : mot de passe de l'utilisateur précédent (le même que dans votre fichiers ./dolibarr-x.y.z/htdocs/conf/conf.php.
Une fois ces informations renseignés, cliquer sur le bouton "Modifier" et utilisez le bouton "Test LDAP connection" pour vous assurer qu'elles sont bonnes.
Ce qui doit vous donner ceci :
@ Connexion TCP au serveur LDAP réussie (Serveur=ldaps://<hostname_ou_ip>, Port=389 ou 636)
@ Connection/Authentification au serveur LDAP réussie (Serveur=ldaps://<hostname_ou_ip>, Port=389 ou 636, Admin= uid=admin,DC=company,DC=com, Password=****************)
@ Serveur LDAP configuré en version 3
- Ensuite, saisissez la manière de récupérer les utilisateurs dans votre annuaire LDAP, un filtre LDAP est recommandé (ici filtrage sur un groupe dans lequel vous mettez les utilisateurs autorisé dans Dolibarr)
- Et faites l'association entre les champs Dolibarr et les champs LDAP,
- N'oubliez pas de sélectionner, un champ unique qui va servir de clef d’identification unique pour vos utilisateurs (en général : uid ou sAMAccountName)
- Une fois ces informations renseignés, cliquer sur le bouton "Modifier" et utilisez le bouton "Tester un recherche LDAP" pour vous assurer qu'elles sont bonnes.
Ce qui doit vous donner ceci :
LDAP search for user:
search: *
userDN: DC=company,DC=com
useridentifier: uid
required_fields: uid,cn,sn,givenname,userPassword,telephonenumber,mail
=> 4 records (dépends du nombre d'utilisateur résrtient, ou pas, par votre filtre LDAP)
Une fois ces informations renseignés, utilisez le bouton "Test synchronisation" pour vous assurer qu'elles sont bonnes.
Usage
Pour les synchronisations de Dolibarr vers le LDAP, une fois que votre configuration est réalisée, il n'y a rien à faire. A chaque fois que vous faites une modification dans Dolibarr, le changement est repercuté dans le LDAP.
Si vous rencontrez une erreur durant la synchronisation LDAP, toute la transaction Dolibarr sera annulée et un message d'erreur sera affiché. Notez que les messages d'erreurs retournées par le serveur LDAP en PHP sont peu précises. Aussi si un message d'erreur n'est pas assez clair pour vous permettre de deviner ce qui ne fonctionne pas, jetez un oeil au chapitre "Erreurs".
Vous pouvez toutefois réaliser des synchronisations initiales ou de masse grace aux scripts (voir chapitre Scripts).
Erreurs
Parce que le message d'erreur retourné par les fonctions PHP LDAP ne sont pas précises, vous pouvez avoir des difficultés pour analyser un message d'erreur LDAP. Voici quoi faire dans ce cas:
- Juste après que l'erreur ait eu lieu, un fichier ldap/temp/ldapinput.in est créé dans votre répertoire documents. Aller dans le répertoire ldap/temp/.
- Ouvre le fichier ldapinput.in, vous y verrez sur les premières lignes (en commentaire), la commande ldap complète que vous pouvez utiliser pour émuler la même action que celle envoyé par le PHP au serveur LDAP.
- Exécuter la commande. Vous devez avoir les utiltaires ldap (ldapadd, ldapmodify et ldapdelete) installés sur votre ordinateur.
- Analyser le résultat. Vous devriez avoir plus d'information sur la cause de l'erreur.