AuthAuthoritative
AuthAuthoritative on|off Default: AuthAuthoritative on directory, .htaccess
Setting the AuthAuthoritative
directive explicitly
to off
allows for both authentication and
authorization to be passed on to lower-level modules (as defined in
the Config and modules.c files) if there is no
user ID or rule matching the supplied user ID. If there is a user ID
and/or rule specified, the usual password and access checks will be
applied, and a failure will give an Authorization Required reply.
So if a user ID appears in the database of more than one module or if
a valid Require
directive applies to more than one
module, then the first module will verify the credentials, and no
access is passed on — regardless of the
AuthAuthoritative
setting.
A common use for this is in conjunction with one of the database modules, such as mod_auth_db.c, mod_auth_dbm.c, mod_auth_msql.c, and mod_auth_anon.c. These modules supply the bulk of the user-credential checking, but a few (administrator) related accesses fall through to a lower level with a well-protected AuthUserFile.
By default, control is not passed on, and an unknown user ID or rule will result in an Authorization Required reply. Not setting it thus keeps the system secure.
Do consider the implications of allowing a user to allow fall-through in her .htaccess file, and verify that this is really what you want. Generally, it is easier just to secure a single .htpasswd file than it is to secure a database such as mSQL. Make sure that the AuthUserFile is stored outside the document tree of the web server; do not put it in the directory that it protects. Otherwise, clients will be able to download the AuthUserFile.