(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)
ldap_compare — Compare value of attribute found in entry specified with DN
$ldap
,$dn
,$attribute
,$value
,$controls
= null
Compare value
of attribute
with value of same attribute in an LDAP directory entry.
ldap
通过 ldap_connect() 返回的 LDAP\Connection 实例。
dn
The distinguished name of an LDAP entity.
attribute
The attribute name.
value
The compared value.
controls
Array of LDAP Controls to send with the request.
Returns true
if value
matches otherwise returns
false
. Returns -1 on error.
版本 | 说明 |
---|---|
8.1.0 |
现在 ldap 参数接受 LDAP\Connection
实例,之前接受 资源(resource)。
|
8.0.0 |
controls is nullable now; previously, it defaulted to [] .
|
7.3.0 |
Support for controls added
|
The following example demonstrates how to check whether or not given password matches the one defined in DN specified entry.
示例 #1 Complete example of password check
<?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() can NOT be used to compare BINARY values!