(PHP 4 >= 4.0.2, PHP 5, PHP 7)
ldap_compare — Comparar el valor del atributo encontrado en la entrada que se especificó con un DN
Comparar el value
del attribute
con el valor del mismo atributo en una entrada del directorio de LDAP.
link_identifier
Un enlace identificador de LDAP, devuelto por ldap_connect().
dn
El nombre distinguido de una entidad de LDAP.
attribute
El nombre del atributo.
value
El valor comparado.
Devuelve TRUE
si value
es similar de otra forma devuelve
FALSE
. Devuelve -1 en caso de error.
El siguiente ejemplo demuestra como revisar si una contraseña proporcionada es igual o no a la que está definida en una entrada DN específica.
Ejemplo #1 Ejemplo completo de revisión de contraseña
<?php
$ds=ldap_connect("localhost"); // Asumiendo que el servidor de LDAP está en este mismo ordenador
if ($ds) {
// enlazar
if (ldap_bind($ds)) {
// preparar los datos
$dn = "cn=Matti Meikku, ou=Mi Departamento, o=Mi Compañía, c=FI";
$value = "contraseñasecreta";
$attr = "contraseña";
// comparar el valor
$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 "Supongo que falló! Contraseña incorrecta.";
}
} else {
echo "No se puede enlazar al servidor de LDAP.";
}
ldap_close($ds);
} else {
echo "No se puede conectar al servidor de LDAP.";
}
?>
ldap_compare() NO puede ser utilizado para comparar valores BINARIOS!