Configuration LDAP Self Service Password

De EjnTricks

l'objectif de l'application est de permettre de pouvoir modifier son mot de passe sur un annuaire LDAP. En toute logique il est nécessaire de configurer l'annuaire cible après installation. Cet article présente la configuration réalisée dans le cadre de cette installation.


Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


Study icon.png Etude

La configuration de l'annuaire s'effectue dans le fichier de configuration à l'emplacement config/config.inc.php. La configuration liée à l'annuaire est au tout début du fichier.

#==============================================================================
# Configuration
#==============================================================================
# LDAP
$ldap_url = "ldap://localhost";
$ldap_starttls = false;
$ldap_binddn = "cn=manager,dc=example,dc=com";
$ldap_bindpw = "secret";
$ldap_base = "dc=example,dc=com";
$ldap_login_attribute = "uid";
$ldap_fullname_attribute = "cn";
$ldap_filter = "(&(objectClass=person)($ldap_login_attribute={login}))";

Les éléments de configuration sont les suivants.

Paramètre Description
ldap_url URL d'accès à l'annuaire LDAP.
ldap_starttls Spécifie si l'annuair supporte l'extension StartTLS.
ldap_binddn Identifiant du compte de connexion.
ldap_bindpw Mot de passe du compte.
ldap_base Branche de recherche des utilisateurs.
ldap_login_attribute Attribut LDAP contenant l'identifiant des comptes.
ldap_fullname_attribute Attribut LDAP contenant le nom complet des comptes.
ldap_filter Filtre de recherche pour les comptes. Ceci peut permettre de filtrer des comptes techniques par exemple.

Dans les annuaires LDAP, les mots de passe peuvent être stockés en clair ou selon un alogrithme de signature. L'application permet de spécifier celui-ci avec un ensemble de valeur, dans la variable hash.

  • SSHA;
  • SHA;
  • SMD5;
  • MD5;
  • CRYPT;
  • clear, qui est la configuration par défaut;
  • auto, configuration spécifique qui applique l'algorithme en fonction de celui déjà existant sur le compte modifié.

Le fichier de configuration initial contient la partie suivante.

# Hash mechanism for password:
# SSHA
# SHA
# SMD5
# MD5
# CRYPT
# clear (the default)
# auto (will check the hash of current password)
# This option is not used with ad_mode = true
$hash = "clear";


Configuration-icon.png Configuration

File-find-icon.png Annuaire

Dans le cadre de cette installation, sur un annuaire OpenLDAP, la configuration mise en place est la suivante.

Paramètre Valeur
ldap_url ldap://localhost
ldap_starttls false

Valeur par défaut.

ldap_binddn cn=admin,dc=ejnserver,dc=fr
ldap_bindpw XXX

Mot de passe du compte cn=admin,dc=ejnserver,dc=fr sur l'annuaire.

ldap_base ou=people,dc=ejnserver,dc=fr

Branche contenant uniquement les utilisateurs. Il n'est pas nécessaire de chercher dans la branche des groupes.

ldap_login_attribute uid

Valeur par défaut.

ldap_fullname_attribute cn

Valeur par défaut.

ldap_filter (&(objectClass=person)($ldap_login_attribute={login}))

Valeur par défaut

Le fichier config.inc.php est donc modifié ainsi.

# LDAP
$ldap_url = "ldap://localhost";
$ldap_starttls = false;
#$ldap_binddn = "cn=manager,dc=example,dc=com";
$ldap_binddn = "cn=admin,dc=ejnserver,dc=fr";
#$ldap_bindpw = "secret";
$ldap_bindpw = "XXX";
#$ldap_base = "dc=example,dc=com";
$ldap_base = "ou=people,dc=ejnserver,dc=fr";
$ldap_login_attribute = "uid";
$ldap_fullname_attribute = "cn";
$ldap_filter = "(&(objectClass=person)($ldap_login_attribute={login}))";


Icon ACL.png Algo Hash

Dans le cadre de cette installation, l'algorithme de hash est le MD5. La configuation de la variable hash est donc modifiée ainsi.

# Hash mechanism for password:
# SSHA
# SHA
# SMD5
# MD5
# CRYPT
# clear (the default)
# auto (will check the hash of current password)
# This option is not used with ad_mode = true
#$hash = "clear";
$hash = "MD5";