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が帰ってきますのでこれで判断。