とりあえずこんなんで、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して待ってる中です!