Configuration LDAP Self Service Password
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.
Votre avis
Nobody voted on this yet
|
|
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
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}))";
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";