array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'function.ldap-compare.php', 1 => 'ldap_compare', ), 'up' => array ( 0 => 'ref.ldap.php', 1 => 'LDAP 函数', ), 'prev' => array ( 0 => 'function.ldap-close.php', 1 => 'ldap_close', ), 'next' => array ( 0 => 'function.ldap-connect-wallet.php', 1 => 'ldap_connect_wallet', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/ldap/functions/ldap-compare.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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.
版本 | 说明 |
---|---|
8.1.0 |
现在 ldap 参数接受 LDAP\Connection
实例,之前接受有效的 ldap link 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!