アップデート
更新: LDAP ブラウザーの無料版 (ここで確認してください) を使用すると、LDAP サーバーを簡単に参照できるため、匿名などをバインドできるかどうかを理解するのに役立ちます。しかし、最大の利点は、DN
(コピーとペースト)。その後、データを読み取ることができました。
私は次の問題を抱えていましたが、それが私が解決した方法です:
問題1
問題 1: LDAP ブラウザ ソフトウェアを介して匿名で接続できたにもかかわらず、バインドできない
解決策:上記のように、バインドの前に次の行を追加しました。
ldap_set_option( $ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3 );
ldap_set_option( $ldapconn, LDAP_OPT_REFERRALS, 0 );
この後、バインドできました...
問題 2
以下に示す元の投稿:
検索できないようで、LDAP Browser 4.5 Free Edition を使用して、すべてが機能していることを確認しています...
これは私のコードです:
function ldap_anon_connect($ein){
$ldaphost = "ldap://link_to_ldap.com";
//create a connection to ldap server
$ldapconn = ldap_connect($ldaphost) or die("Couldn't connect to " .$ldaphost);
if ($ldapconn) {
ldap_set_option( $ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3 );
ldap_set_option( $ldapconn, LDAP_OPT_REFERRALS, 0 );
$ldapbind = ldap_bind($ldapconn);
if ($ldapbind) {
// if binds, look some stuff up
$info = ldap_annon_get_profile($ein, $ldapconn);
return $info;
}
else{
echo "Invalid EIN. Please Try again";
die();
}
}
}
function ldap_annon_get_profile($ein, $ldapconn){
$filter = "(cn=".$ein.")";
$justthese = array(
"cn","sn","givenName","displayName","mail","EmployeeClass","ManagerEIN",
"mobile","title","c","PersonalTitle"
);
$sr = ldap_search($ldapconn, "o=CO,ou=COplc,ou=people", $filter, $justthese);
$info = ldap_get_entries($ldapconn, $sr);
return $info;
}
DN=" o=CO,ou=COplc,ou=people
" を再確認しましたが、LDAP ブラウザで検索できるため、これは正しい文字列です...
何か案は?