Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/08/2011, 13:14
Avatar de eliza_ralves
eliza_ralves
 
Fecha de Ingreso: junio-2009
Ubicación: Caracas
Mensajes: 126
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Búsqueda con LDAP - PHP

Hola de nuevo, estoy intentando con otro código , donde $userActual es el usuario logueado, y $username es el usuario a ingresar y a comprobar

Código PHP:
function busquedaLDAP($userActual$password$username){

     
$ldapconn conectarLDAP();
    
    
// Verificación del establecimiento de la conexión con algún servidor
    
if(!$ldapconn[0] && !$ldapconn[1]) {
        
        
// Conexión Fallida. Devuelve código de error asociado (1)
        
return 1;

    
// Alguna conexión Exitosa
    
} else {
        
        
// Nombre Relativo Distinguido del usuario en el LDAP (
        
$ldaprdn $userActual;

        
// Contraseña del usuario en el Directorio Activo
        
$ldappass $password;
        
        
// Realizando la autenticación del usuario en el(los) servidor(es) LDAP
        // conectado(s)
        
$ldapbind  autenticarLDAP($ldapconn[0], $ldaprdn$ldappass);
        
$ldapbind2 autenticarLDAP($ldapconn[1], $ldaprdn$ldappass);

        
// Verificación del enlace resultante
        
if ($ldapbind || $ldapbind2) {
            
             
$binddn "ou=Users,dc=intra";
             
$filter "(&(samaccountname=".$userActual.") (objectClass=user)(objectCategory=person) )"
             
$fields = array("samaccountname"); 
             
$search=ldap_search($ldapconn$binddn$filter$fields); 


//$search=ldap_search($ldapconn,"ou=Users,dc=intra", "samaccountname=$username");  
     
            
if($search==false) { 
                echo
"Hay algun error</br>"
        
                
desconectarLDAP($ldapconn[0]);
                
desconectarLDAP($ldapconn[1]);
            
                
// Autenticación Fallida (usuario no pertenece a directorio Activo). Devuelve código de error asociado (2)
                
return 2;
        
            }  
            else { 
                echo 
"El resultado de la busqueda es ".$search."<p>"
                
print_r($search);
     
                echo 
"El numero de entradas devueltas es ".ldap_count_entries($ldapconn,$search)."<p>"
     
                echo 
"Recuperando entradas ...<p>"
                
$datosldap ldap_get_entries($ldapconn$search); 
                echo 
"Devueltos datos de ".$datosldap["count"]." entradas:<p>"
                
//ver nombre de los atributos 
                
$entrada ldap_first_entry($ldapconn$search); 

                
$atributos ldap_get_attributes($ldapconn$entrada); 

                echo 
$atributos["count"]." atributos contenidos en esta entrada:<p>"

                for (
$i=0$i $atributos["count"]; $i++) 
                    echo 
$atributos[$i]."<br>"

                
//comparación con usuario 
                
$dn $datosldap[0]["dn"]; 
                
$r=ldap_compare($ldapconn,$dn,"samaccountname"$username); 
         
                if (
$r === -1) { 
                    
$msg "Error datos"//Contraseña incorrecta 
                

                elseif (
$r === true) { 
                    echo
"Correcto</br>"
            
                    
desconectarLDAP($ldapconn[0]);
                    
desconectarLDAP($ldapconn[1]);
            
                    return 
0;            
                } 
            } 
            
        } else { 
            
            
desconectarLDAP($ldapconn[0]);
            
desconectarLDAP($ldapconn[1]);
            
            
// Autenticación Fallida (usuario no pertenece a directorio Activo). Devuelve código de error asociado (2)
            
return 2;
        } 
    }

Pero me aparecen estos errores :

Cita:
El resultado de la busqueda es Array

Array ( [0] => Resource id #11 [1] => Resource id #12 )

Warning: ldap_count_entries(): supplied argument is not a valid ldap link resource

El numero de entradas devueltas es

Recuperando entradas ...

Warning: ldap_get_entries(): supplied argument is not a valid ldap link resource

Devueltos datos de entradas:

Warning: ldap_first_entry(): supplied argument is not a valid ldap link resource

Warning: ldap_get_attributes(): supplied argument is not a valid ldap link resource

atributos contenidos en esta entrada:

Warning: ldap_compare(): supplied argument is not a valid ldap link resource
__________________
“El mayor enemigo del conocimiento no es la ignorancia, sino la ilusión del conocimiento”— Stephen Hawking