Apacheの基本認証でLDAPとファイル認証を併用する

7月11日のエントリで書いたApache基本認証をLDAPに任せた件。ActiveDirectoryに社外メンバのアカウントを作るのがまかりならんとのこと。ということでLDAPとファイルに認証を併用できないか調査するとちゃんとその解説がApacheのドキュメントにありました。
具体的にはこういう設定に。

    AuthType                    Basic
    AuthBasicProvider           ldap file
    AuthLDAPBindAuthoritative   on

    AuthName                    "Enter your ID"

    AuthLDAPBindDN              administrator@example.com
    AuthLDAPUrl                 "ldap://server-address:389/dc=example,dc=com?sAMAccountName?sub?(objectClass=*)"
    AuthLDAPBindPassword        "password"
    Require                     ldap-attribute objectClass=person
   
    AuthUserFile                /usr/local/apache2/conf/.htpasswd
    Require                     valid-user

AuthLDAPBindAuthoritative を設定することと、AuthBasicProvider に認証手段を複数かくことがおミソ。この設定でLDAP認証に失敗した場合、ファイル認証に移行してくれます。