(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_identifierUn enlace identificador de LDAP, devuelto por ldap_connect().
dnEl nombre distinguido de una entidad de LDAP.
attributeEl nombre del atributo.
valueEl 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!