PHP.nl

ldap_compare

ldap_compare

Compare value of attribute found in entry specified with DN

 **ldap_compare** LDAP\Connection $ldap string $dn string $attribute string $value  $controls

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

ldapldap.parameter.ldap

dnThe distinguished name of an LDAP entity.

attributeThe attribute name.

valueThe compared value.

controls Array of to send with the request. LDAP Controls

Returns true if matches otherwise returns false. Returns -1 on error. value

The following example demonstrates how to check whether or not given password matches the one defined in DN specified entry.

Voorbeeld: 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.";
}
?>

Waarschuwing: > can NOT be used to compare BINARY values! ldap_compare