ldap_compare

(PHP 4 >= 4.0.2, PHP 5)

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で追加されました。