Google

NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7">

ldap_compare

(PHP 4 >= 4.0.2)

ldap_compare --  DNで指定したエントリで見付かった属性の値を比較する

説明

int ldap_compare ( int link_identifier, string dn, string attribute, string value)

valueがマッチする場合にTRUE、その他の場合 にFALSE、エラーの場合に-1を返します。

ldap_compare()は、属性 attributeの値valuednで指定したLDAPディレクトリエントリの同 じ属性の値と比較するために使用します。

次の例は、指定したパスワードがDNの指定したエントリで定義されたも のと一致するかどうかをチェックする方法を示しています。

例 1パスワード確認の例

<?php

$ds=ldap_connect("localhost");  // LDAPサーバーが同一ホストであると仮定
      
if ($ds) {

// バインド
  if(ldap_bind($ds)) {

        // データを準備
        $dn = "cn=Matti Meikku, ou=My Unit, o=My Company, c=FI";
        $value = "secretpassword";
        $attr = "password";	

        // 値を比較
        $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値を比較することはでき ません!

注意 この関数は4.0.2で追加されました。