(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)
ldap_compare — Comparar una entrada con valores de atributos
$ldap
,$dn
,$attribute
,$value
,$controls
= null
Permite comparar el valor value
del atributo
attribute
con el valor del mismo atributo de la entrada
dn
.
ldap
An LDAP\Connection instance, returned by ldap_connect().
dn
El DN de la entrada LDAP.
attribute
El nombre del atributo.
value
El valor a comparar.
controls
Array de Controles LDAP a enviar con la petición.
Devuelve true
si el valor value
coincide, de lo contrario,
devuelve false
. Devuelve -1 si ocurre un error.
Versión | Descripción |
---|---|
8.1.0 |
The ldap parameter expects an LDAP\Connection
instance now; previously, a valid ldap link recurso was expected.
|
8.0.0 |
controls is nullable now; previously, it defaulted to [] .
|
7.3.0 |
Se añadió soporte para controls .
|
El siguiente ejemplo muestra cómo verificar que dos contraseñas coinciden, siendo una de ellas la de una entrada del servidor LDAP.
Ejemplo #1 Ejemplo completo de verificación de contraseña con LDAP
<?php
$ds=ldap_connect("localhost"); // debe ser un servidor LDAP válido!
if ($ds) {
// Autenticación
if (ldap_bind($ds)) {
// Preparación de datos
$dn = "cn=Matti Meikku, ou=My Unit, o=My Company, c=FI";
$value = "secretpassword";
$attr = "password";
// Comparación de valores
$r=ldap_compare($ds, $dn, $attr, $value);
if ($r === -1) {
echo "Error: " . ldap_error($ds);
} elseif ($r === true) {
echo "Contraseña correcta.";
} elseif ($r === false) {
echo "¡Mal elegido! ¡Contraseña incorrecta!";
}
} else {
echo "No se pudo conectar al servidor LDAP.";
}
ldap_close($ds);
} else {
echo "No se pudo conectar al servidor LDAP.";
}
?>
ldap_compare() NO puede ser utilizado para comparar valores binarios.