<?php
class LdapLogin {
static function checkPassword($username, $password)
{
$ldap = ldap_connect("ldap.server.com");
if ($ldap) {
$username = 'xxx'; //User to bind
$password = "xxx"; //Pass
//EL DN depende de tu arbol LDAP
$bind_results = @ldap_bind($ldap,"CN=$username,OU=Users,DC=server,DC=com"
, $password);
if (!$bind_results) {
throw new Exception('Can\'t bind to LDAP server');
}
$dn = "OU=Users,dc=server,dc=com";
$filter = "(|(sAMAccountName=" . $user_name . "*))";
$results = ldap_search($ldap, $dn, $filter);
$info = ldap_get_entries($ldap, $results);
if (count($info) > 0) {
$cn = $info[0]['dn']; //El DN del usuario
//Si bindea el usuario/pass es vĂ¡lido
if (@ldap_bind($ldap, $cn , $user_password)){
ldap_close($ldap);
return true;
} else {
ldap_close($ldap);
return false;
}
}
ldap_close($ldap);
return false;
} else {
throw new Exception('Can\'t connect to LDAP server');
}
}