diff --git a/conf/config.inc.php b/conf/config.inc.php index 829bb7377..d7fe91968 100644 --- a/conf/config.inc.php +++ b/conf/config.inc.php @@ -31,6 +31,8 @@ $ldap_login_attribute = "uid"; $ldap_fullname_attribute = "cn"; $ldap_filter = "(&(objectClass=person)($ldap_login_attribute={login}))"; +# DN that is the parent of all users +$ldap_userparentdn = "cn=Users,dc=example,dc=com"; # Active Directory mode # true: use unicodePwd as password field diff --git a/pages/change.php b/pages/change.php index 868c1824c..380696f91 100644 --- a/pages/change.php +++ b/pages/change.php @@ -94,6 +94,9 @@ # Bind if ( isset($ldap_binddn) && isset($ldap_bindpw) ) { $bind = ldap_bind($ldap, $ldap_binddn, $ldap_bindpw); + } else if ( $who_change_password == "user" && isset($ldap_login_attribute) && isset($ldap_userparentdn) ) { + $login_dn = $ldap_login_attribute . "=" . $login . "," . $ldap_userparentdn; + $bind = ldap_bind($ldap, $login_dn, $oldpassword); } else { $bind = ldap_bind($ldap); }