Active Directoryに対してLDAP認証する - lighttpdのmod_auth
とりあえずこんなんで、Windows の Active Directory でドメインこさえてる場合はそれを認証サーバにできるす。
auth.backend = "ldap" auth.backend.ldap.hostname = "adservername" auth.backend.ldap.base-dn = "OU=diary,DC=AD,DC=hatena,DC=ne,DC=jp" auth.backend.ldap.bind-dn = "hatena\hirose31" auth.backend.ldap.bind-pw = "sorehaiente" auth.backend.ldap.filter = "(sAMAccountName=$)" auth.require = ( "/himichu/" => ( "method" => "basic", "realm" => "hanazono", "require" => "valid-user" ), ) $HTTP["url"] =~ "^/trac/.*/login" { auth.require = ( "/" => ( "method" => "basic", "realm" => "trac", "require" => "valid-user" ), ) }
Apacheのmod_auth_ldapでも同じようにできるんじゃないかと思います。が、Apacheならmod_smbauthを使う、という手もあります。
ただしこれ、次の2点でイマイチなんです:
- 接続用のユーザ (bind-dn, bind-pw) が必要
- (ADの設定によっては匿名での問い合わせができるそうですが)
- 認証時のパスワードが平文で流れる
- over SSLなldapsにするという手もアリ
ほんでこれらを解消すべく id:yasui0906 がなんかハックしてくれるそうなのでwktkして待ってる中です!