自分用メモ。
activeCollab 0.7.1 (オープンソースの Basecamp もどき)のユーザー認証を、別に動いている Mac OS X Server の上の Open Directory のユーザー名とパスワードでできるように改造していて、Open Directory の LDAP 認証でちょっとつまずいたので、忘れないうちに。


いや、わかってみればなんてことはないんだけど、

$ad=ldap_connect("LDAP サーバーのアドレス");
ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3);
$bd = @ldap_bind($ad,'uid='.$username.",cn=users,dc=foo,dc=bar,dc=example,dc=co,dc=jp",$password);
ldap_unbind($ad);
if (!$bd) {
ログイン失敗
}

つまり、Bindするときに、DNを

uid=ログイン名,cn=users,dc=xxxx,dc=yyyy....

と指定するのが正解。

投稿者 樋口 理

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です