PHP4の環境からActiveDirectoryでの認証が必要になったのでテスト.
・ADサーバー : Windows Server 2003 Standard Edition
マニュアルに従い、ldap_bindの第二引数にdnとして
'cn=userid,ou=exampleou,o=excom,c=JP'
'uid=userid,dc=example,dc=com'
等々つっこんでみましたが、
Warning: ldap_bind(): Unable to bind to server: Invalid credentials in ....
とエラーが出るばかりで認証出来ず.
何でだ?何でだ?と頭を悩ませる事1時間.
…ん?これって普通に「userid@example.com」形式じゃ駄目?
と思い至り、早速やってみると……普通に接続しやがりました orz
$objConnection = ldap_connect('ldap://example.com', 389);
or die('could not connect Active-Directory.');
//-> ↓2007-10-02追記(これもセットした方が良さそうです)
ldap_set_option($objConnection, LDAP_OPT_PROTOCOL_VERSION, 3)
or die('could not set protocol-version...');
if ($objConnection) {
if (@ldap_bind($objConnection, 'userid@example.com', 'password')) {
echo "success.<br>";
} else {
echo "error.<br>reason... " . ldap_error($objConnection) . "<br>";
}
ldap_unbind($objConnection);
}
まぁ、あれです.
アホです.
生粋のアホです orz
また今日も時間を無駄にした...
0 件のコメント:
コメントを投稿