Authentication Directives and Password Considerations - From Apache: The Definitive Guide (3/7)
Apache: The Definitive Guide, Chapter 5: Authentication
AuthUserFile is a file of usernames and their
encrypted passwords. There is quite a lot to this; see the section
Passwords Under Unix, Passwords Under Win32, and Passwords over the Web later in this chapter.
AuthAuthoritative on|off Default: AuthAuthoritative on directory, .htaccess
AuthAuthoritative directive explicitly
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
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
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.
Created: February 18, 2003
Revised: February 18, 2003