mod_authn_anon Allows "anonymous" user access to authenticated areas Extension mod_authn_anon.c authn_anon_module Available in Apache 2.1 and later

This module provides authentication front-ends such as mod_auth_basic to authenticate users similar to anonymous-ftp sites, i.e. have a 'magic' user id 'anonymous' and the email address as a password. These email addresses can be logged.

Combined with other (database) access control methods, this allows for effective user tracking and customization according to a user profile while still keeping the site open for 'unregistered' users. One advantage of using Auth-based user tracking is that, unlike magic-cookies and funny URL pre/postfixes, it is completely browser independent and it allows users to share URLs.

When using mod_auth_basic, this module is invoked via the AuthBasicProvider directive with the anon value.

Example

The example below is combined with "normal" htpasswd-file based authentication and allows users in additionally as 'guests' with the following properties:

Example <Directory /var/www/html/private> AuthName "Use 'anonymous' & Email address for guest entry"
AuthType Basic
AuthBasicProvider file anon
AuthUserFile /path/to/your/.htpasswd

Anonymous_NoUserID off
Anonymous_MustGiveEmail on
Anonymous_VerifyEmail on
Anonymous_LogEmail on
Anonymous anonymous guest www test welcome

Order Deny,Allow
Allow from all

Require valid-user
</Directory>
Anonymous Specifies userIDs that are allowed access without password verification Anonymous user [user] ... directory.htaccess AuthConfig

A list of one or more 'magic' userIDs which are allowed access without password verification. The userIDs are space separated. It is possible to use the ' and " quotes to allow a space in a userID as well as the \ escape character.

Please note that the comparison is case-IN-sensitive.
It's strongly recommended that the magic username 'anonymous' is always one of the allowed userIDs.

Example: Anonymous anonymous "Not Registered" "I don't know"

This would allow the user to enter without password verification by using the userIDs "anonymous", "AnonyMous", "Not Registered" and "I Don't Know".

As of Apache 2.1 it is possible to specify the userID as "*". That allows any supplied userID to be accepted.

Anonymous_LogEmail Sets whether the password entered will be logged in the error log Anonymous_LogEmail On|Off Anonymous_LogEmail On directory.htaccess AuthConfig

When set On, the default, the 'password' entered (which hopefully contains a sensible email address) is logged in the error log.

Anonymous_MustGiveEmail Specifies whether blank passwords are allowed Anonymous_MustGiveEmail On|Off Anonymous_MustGiveEmail On directory.htaccess AuthConfig

Specifies whether the user must specify an email address as the password. This prohibits blank passwords.

Anonymous_NoUserID Sets whether the userID field may be empty Anonymous_NoUserID On|Off Anonymous_NoUserID Off directory.htaccess AuthConfig

When set On, users can leave the userID (and perhaps the password field) empty. This can be very convenient for MS-Explorer users who can just hit return or click directly on the OK button; which seems a natural reaction.

Anonymous_VerifyEmail Sets whether to check the password field for a correctly formatted email address Anonymous_VerifyEmail On|Off Anonymous_VerifyEmail Off directory.htaccess AuthConfig

When set On the 'password' entered is checked for at least one '@' and a '.' to encourage users to enter valid email addresses (see the above Anonymous_LogEmail).