Учебник РНР
НазадВперёд

ldap_compare

(PHP 4 >= 4.0.2)

ldap_compare - сравнивает значение атрибута, найденное во вхождении, специфицированном с помощью DN.

Описание

bool ldap_compare (resource link_identifier, string dn, string attribute, string value)

Возвращает TRUE, если value совпадает, иначе возвращает FALSE. Возвращает -1 при ошибке.

ldap_compare() используется для сравнения value атрибута attribute со значением того же атрибута во вхождении LDAP-директории, специфицированном параметром dn.

Следующий пример демонстрирует, как проверить, совпал или нет данный пароль/password с паролем, определённым в специфицированном вхождении DN.

Пример 1. Полный пример проверки пароля

<?php

$ds=ldap_connect("localhost");  // принимаем, что LDAP-сервер находится на этом хосте
      
if ($ds) {

    // связать 
    if(ldap_bind($ds)) {

        // prepare data
        $dn = "cn=Matti Meikku, ou=My Unit, o=My Company, c=FI";
        $value = "secretpassword";
        $attr = "password"; 

        // сравнить значение
        $r=ldap_compare($ds, $dn, $attr, $value);

        if ($r === -1) {
            echo "Error: ".ldap_error($ds);
        } elseif ($r === TRUE) {
            echo "Password correct.";
        } elseif ($r === FALSE) {
            echo "Wrong guess! Password incorrect.";
        }

    } else {
        echo "Unable to bind to LDAP server.";
    }          

    ldap_close($ds);

} else {
    echo "Unable to connect to LDAP server.";
}
?>

Предупреждение!

ldap_compare() НЕ может использоваться для сравнения BINARY-значений!

Примечание: Эта функция была введена в 4.0.2.


НазадОглавлениеВперёд
ldap_closeВверхldap_connect