(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.
ldapAn LDAP\Connection instance, returned by ldap_connect().
dnEl DN de la entrada LDAP.
attributeEl nombre del atributo.
valueEl valor a comparar.
controlsArray 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 resource 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.