PHP マニュアル
前のページ |  | 次のページ

# 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`の値`value` を`dn`で指定した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で追加されました。

前のページ | ホーム | 次のページ
ldap_close | 上に戻る | ldap_connect