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