ldap_close
ldap_connect
LDAP Functions
PHP Manual

# 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.

Example #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.";
}
?>`
Warning

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

> Note: La función se incluyó en la versión 4.0.2.

ldap_close
ldap_connect
LDAP Functions
PHP Manual