Apache/ActiveDirectory認証 認証ユーザIDのデータを加工しActiveDirectoryに検索をする設定方法
仕事でとあるアプリケーションのApacheを利用し、
認証はActiveDirectoryの情報を利用し認証する必要が発生しました。
環境
サーバA:Apache2.4/Webアプリケーション
サーバB:ActiveDirectory
想定仕様
ユーザはブラウザでWebアプリケーションにアクセスすると
認証ダイアログが表示され、ユーザID、パスワードを入れると、
ApacheがActiveDirectoryに問い合わせをし認証をし、Webアプリケーションにログインできる。
上記だけであれば、例えば以下
AuthLDAPUrl"ldap://hogesv01:389/OU=person,dc=hogedomain,dc=jp?userPrincipalName?sub?(objectClass=*)"
AuthLDAPBindDN userhoge@hogedomain.jp
AuthLDAPBindPassword userhogeのパスワード
Require ldap-attribute objectClass=person
のようなapache設定で認証設定が可能だと思います。
今回、問題なのは、
ユーザは「ドメインを抜いたユーザ名を入力する」という要件があることです。
例えば、userPrincipalNameがuser01@hogedomein.jp
だとすると、
ユーザはログインIDでuser01
のみを指定するということです。
Apacheの設定でユーザの認証を、
ユーザIDを前方一致でActiveDirectoryを検索に行き、
userPrinicipalNameで認証を実行が出来る必要があるのですが、
そのような設定方法はapacheでは可能なのでしょうか。
いろいろ調べましたが方法が分からず、
何か良い方法や良いアイディアはないものでしょうか。
ActiveDirectory自体の設定を変えるというのは他社管理サーバのため
難しくApacheの設定でなんとかしたい…というのが想いです。
イメージ
ユーザ→→[user01を入力]→→→Apache→→→[user01@hogedomein.jpで検索]→ActiveDirectory
※Apacheでユーザが入力した値を加工し、ActiveDirectoryを検索に行きたい
何かアイディア/知見があればご教授いただけませんか。