LDAP ldap_compare

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

ldap_compare — DN으로 지정된 항목에서 찾은 속성 값 비교


설명

ldap_compare(
    LDAP\Connection $ldap,
    string $dn,
    string $attribute,
    string $value,
    ?array $controls = null
): bool|int
                

Compare value of attribute with value of same attribute in an LDAP directory entry.


매개변수

ldap
ldap_connect()에 의해 반환된 LDAP\Connection 인스턴스입니다.
dn
LDAP 엔티티의 고유 이름입니다.
attribute
속성 이름입니다.
value
비교 값입니다.
controls
요청과 함께 보낼 LDAP 컨트롤의 배열입니다.

반환 값

value이 일치하면 true를 반환하고 그렇지 않으면 false를 반환합니다. 오류가 발생하면 -1을 반환합니다.


변경 로그

버전 설명
8.1.0 ldap 매개변수는 이제 LDAP\Connection 인스턴스를 예상합니다. 이전에는 리소스가 필요했습니다.
8.0.0 controls은 이제 nullable입니다. 이전에는 []로 기본 설정되었습니다.
7.3.0 controls 지원 추가됨

Examples

다음 예는 주어진 비밀번호가 DN 지정 항목에 정의된 비밀번호와 일치하는지 여부를 확인하는 방법을 보여줍니다.

예제 #1 비밀번호 확인의 완전한 예

                  
<?php

$ds=ldap_connect("localhost");  // assuming the LDAP server is on this host

if ($ds) {

    // bind
    if (ldap_bind($ds)) {

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

        // compare value
        $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 값을 비교하는 데 사용할 수 없습니다!