Domino な LDAP サーバがある。
別のサーバの PHP な WEB アプリから、Domino にある情報を使って認証を行いたい。
PHP をビルドするときに --with-ldap
を付けるだけで LDAP が使える。
あとは、今まで作った認証部分を LDAP に変更するだけ。
ものすごく簡単に流れを。
前提として、ユーザには、メールアドレス ($mailAddress
) と パスワード ($password
) を入力してもらうとしましょう。
- LDAP サーバに接続。
$ds = ldap_connect("ldap_server", 389);
- 匿名でバインド。
ldap_bind($ds);
- メールアドレスで検索。
$sr=ldap_search($ds, "O=Organization", "mail=$mailAddress");
ここで、O=Organization
の所は、Domino で言うところの組織です。 - 検索結果より 識別名 (
$dn
) を取得。$info = ldap_get_entries($ds, $sr); $dn = $info[0]["dn"];
- LDAP で認証。
$dn
と$password
をもとにバインドしてみる。ldap_bind($ds, $dn, $password)
成功の場合にTRUE、エラーの場合はFALSEが帰ってきますのでこれで判断。