「ColdFusion でActive Directory」という話題があって、興味はあったので、調べてみたんだけど、結局のところ、ColdFusion では、Active Directory 認証はできないと思った方がいいような結果しか導けなかった。
そもそも、ColdFusion の LDAP 用のタグ <cfldap> には、認証というオプションがないので、「LDAP 情報を参照できるかどうか」ということしかわからない。これが LDAP では、当たり前のことなのかわからないけど、とにかく、参照、変更、削除という情報操作しかできないのだ。
で、うちの会社の場合、Active Directory に登録されている情報は、cn に、漢字名が入っていて、Windows のログインに使うアカウント情報の sAMAccountName には、違う名前が入っていたりする。Windows って漢字のログイン名ってありなんかな?
cn と sAMAccountName が同じであって、かつ、そのユーザーが LDAP の参照権限を持っていれば、参照できるかどうかで、ログイン認証を代替できる。
LDAP については、全然わかっていないので、それであっているのかどうか、正直自信がない。
しかも、うちの会社のように、cn と sAMAccountName が異なっている場合は、面倒なことになる。LDAP 認証の入力で、Windows ログオンに利用しているアカウントを使えなければ、わざわざ Active Directory で認証する意味が薄くなってしまうので、sAMAccountName を入れられるようにするには、一旦、LDAP 参照できるユーザーで参照して、該当ユーザーの cn を取得するという処理が必要になる。その LDAP 参照できるユーザーのアカウントとパスワードは、結局のところ、埋め込みに近い。いろいろと手はあるだろうけど、面倒なことになるだろう。
しかも、認証失敗などで、LDAP 参照できない場合、例外を投げるのである。認証失敗は、トライアンドキャッチするしかないという、そんなのあり?状態。
要件に Active Directory 認証が入っちゃっている人は、そうやってでもやらなきゃ行けないんだろうなぁ。
本当に、そんな方法しかないのかなぁ。
こんな回答、フォーラムで、よー返事せん。