apacheでLDAP認証(ActiveDirectory)

久しぶりの覚書。
昨年来続けてきたプロジェクトが無事離陸。
しばらくは、勉強をして過ごそうと思っていたところ、
新たなプロジェクトに押し込められる。
単純なテーブルのCURDで済ませられそうなので
PHPでの実装を検討。

まず認証をどうするか考え
LDAPApacheで認証を選択。
まずは、手近にあるActiveDirectoryで試験。

Apacheでの認証は、ほとんど初めてなので覚書に残す。

Apacheで公開しているページであれば、httpd.confのの セクションに
記述。



Options Indexes FollowSymLinks
AllowOverride None

AuthName "user/password"
AuthType Basic
AuthBasicProvider ldap
AuthLDAPBindDN "CN=administrator,OU=??????,DC=???????,DC=?????"
AuthLDAPBindPassword "password"
AuthLDAPURL "ldap://host.domain.local/DC=domain,DC=local?sAMAccountName?sub?(objectClass=*)"
AuthUserFile /dev/null
Require valid-user

Order allow,deny
Allow from all

AJPtomcatと連携しているのであれば、
Includeしている/extra/配下のconfファイル内の セクションに
AuthName以下を記述。



AuthName "user/password"
AuthType Basic
AuthBasicProvider ldap
AuthLDAPBindDN "CN=administrator,OU=??????,DC=???????,DC=?????"
AuthLDAPBindPassword "password"
AuthLDAPURL "ldap://host.domain.local/DC=domain,DC=local?sAMAccountName?sub?(objectClass=*)"
AuthUserFile /dev/null
Require valid-user

ProxyPass ajp://localhost:8008/Sample_project

なかなか、LDAP認証がうまく設定できず、まずAuthUserFileで試験してみたが
そこでも足踏みしたので、それも覚えに
1.htpasswdコマンドの使用して、AuthUserFileの作成。
   apacheのインストールディレクトリ配下のbinフォルダに移動して
   コマンド発行
   UserFileの作成を伴う場合、optionは、-cb(ユーザー追加のみは、-b)
   >htpasswd -cb ../htdocs/.htpasswd uyaji passwd
2.