# 4.1a Module mod_auth_anon.

This module is contained in the `mod_auth_anon.c` file and is compiled in by default.

It does access control in a manner 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.

Full description / Example / Compile time options / RevisionHistory / Person to blame / Sourcecode

## Full description of all tokens

`
Anonymous < Space separated list >
`
  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.
  I strongly suggest 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 userId's 'anonymous', 'AnonyMous','Not Registered' and 'I Don't Know'.

`
Anonymous_LogEmail < on | off >
`
  When set 'on', the default, the 'password' entered (which hopefully contains a sensible email address) is logged in the httpd-log file.
`
Anonymous_VerifyEmail < on | off >
`
  When set 'on', the default is 'off', the 'password' entered is checked for at least one '@' and a '.' to encourage users to enter valid email addressses (see the above `Auth_LogEmail`.
`
Anonymous_NoUserID < on | off >
`
  When set 'on', the default is 'off', 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_Authorative < on | off >
`
  Default is 'off'. When set 'on', there is no fall-through to other authorization methods. So if a userID does not match the values specified in the `Anonymous` directive, access is denied.

  Be sure you know what you are doing when you decide to switch it on. And remember that it is the linking order of the modules (in the Configuration / Make file) which details the order in which the Authorization modules are queried.

## Example

The example below (when combined with the Auth directives of a htpasswd-file based (or GDM, mSQL etc) base access control system allows users in as 'guests' with the following properties:

- It insists that the user enters a userId. (`Anonymous_NoUserId`)
- It insists that the user enters a password. (`Anonymous_MustGiveEmail`)
- The password entered must be a valid email address, ie. contain at least one '@' and a '.'. (`Anonymous_VerifyEmail`)
- The userID must be one of `anonymous guest www test welcome` and comparison is not case sensitive. `<directory /web/docs/public>`
- And the Email addresses entered in the passswd field are logged to the httpd-log file (`Anonymous_LogEmail`)

Excerp of access.conf:

`Anonymous anonymous guest www test welcome

Anonymous_MustGiveEmail on
Anonymous_VerifyEmail on
Anonymous_NoUserId off
Anonymous_LogEmail on

AuthName Use 'anonymous' & Email address for guest entry
AuthType basic

`
  Normal Apache/NCSA tokens for access control

  `<limit get post head>`
  `order deny,allow`
  `allow from all`

  `require valid-user`
  `<limit>`

## Compile Time Options

Currently there are no Compile options.

## Revision History

This version: 23 Nov 1995, 24 Feb 1996, 16 May 1996.

Version 0.4
  First release
Version 0.5
  Added 'VerifyEmail' and 'LogEmail' options. Multiple 'anonymous' tokes allowed. more docs. Added Authorative functionality.

## Contact/person to blame

This module was written for the European Wide Service Exchange by <`Dirk.vanGulik@jrc.it`>. Feel free to contact me if you have any problems, icecreams or bugs. This documentation, courtesy of Nick Himba, `<himba@cs.utwente.nl>`.

## Sourcecode

The source code can be found at `http://www.apache.org`. A snapshot of a development version usually resides at `http://me-www.jrc.it/~dirkx/mod_auth_anon.c`. Please make sure that you always quote the version you use when filing a bug report.