ldap_compare

ldap_compare

(PHP 4 >= 4.0.2, PHP 5)

ldap_compare -- Compara un valor indicado con el valor de un atributo especificado mediante su DN

Descripci贸n

mixed ldap_compare ( resource identificador_de_conexion, string dn, string atributo, string valor )

Devuelve TRUE si value coincide con el valor del atributo atributo en el directorio. Si no coinciden, devuelve FALSE. Si se ha producido un error, devuelve -1.

ldap_compare() se emplea para comparar el par谩metro valor con el valor que tiene el atributo attribute de la entrada de direcotrio especificada mediante el par谩metro dn.

El siguiente ejemplo muestra como realizar la comprobaci贸n de si la contrase帽a proporcionada coincide con la almacenada en la entrada DN especificada.

Ejemplo 1. Ejemplo completo de comprobaci贸n de contrase帽a

<?php

$ds
=ldap_connect("localhost");  // Asumimos que el servidor LDAP esta en el
                                // servidor local
      
if ($ds) {

    
// autenticacion
    
if (ldap_bind($ds)) {

        
// preparar los datos
        
$dn = "cn=Pedro Perez, ou=Mi Unidad, o=Mi Compania, c=ES";
        
$valor = "contrasena_secreta";
        
$atributo = "password";

        
// comparar los valores
        
$r=ldap_compare($ds, $dn, $atributo, $valor);

        if (
$r === -1) {
            echo
"Error: " . ldap_error($ds);
        } elseif (
$r === true) {
            echo
"Contrasena correcta.";
        } elseif (
$r === false) {
            echo
"La contrasena proporcionada es incorrecta.";
        }

    } else {
        echo
"No ha sido posible conectarse al servidor LDAP.";
    }          

    
ldap_close($ds);

} else {
    echo
"No ha sido posible conectarse al servidor LDAP.";
}
?>

Aviso

ldap_compare() no permite la comparaci贸n de valores binarios.

Nota: La funci贸n se incluy贸 en la versi贸n 4.0.2.