function user_valid_login($login, $password) { global $error, $ldap_server, $ldap_port, $ldap_base_dn, $ldap_login_attr; global $ldap_admin_dn, $ldap_admin_pwd, $ldap_start_tls, $set_ldap_version, $ldap_version; if (!function_exists("ldap_connect")) { die_miserable_death("Your installation of PHP does not support LDAP"); } $ret = false; $ds = @ldap_connect($ldap_server, $ldap_port); if ($ds) { if ($set_ldap_version || $ldap_start_tls) { ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, $ldap_version); } if ($ldap_start_tls) { if (!ldap_start_tls($ds)) { $error = 'Could not start TLS for LDAP connection'; return $ret; } } if ($dn = user_search_dn($login)) { $r = @ldap_bind($ds, $dn, $password); if (!$r) { $error = 'Invalid login'; //$error .= ': incorrect password'; // uncomment for debugging } else { $ret = true; } } else { $error = 'Invalid login'; //$error .= ': no such user'; // uncomment for debugging } @ldap_close($ds); } else { $error = 'Error connecting to LDAP server'; } return $ret; }
function user_valid_login($login, $password) { global $error, $ldap_server, $ldap_port, $ldap_base_dn, $ldap_login_attr; global $ldap_admin_dn, $ldap_admin_pwd; $ret = false; $ds = @ldap_connect($ldap_server, $ldap_port); if ($ds) { if (user_search_dn($login, &$dn)) { $r = @ldap_bind($ds, $dn, $password); // bind as the user. The LDAP // Server will valide the login and passowrd if (!$r) { $error = translate("Invalid login"); } else { $ret = true; } } else { $error = translate("Invalid login"); } @ldap_close($ds); } else { $error = "Error connecting to LDAP server"; } return $ret; }