mod_auth_anon.html revision 2eaf662cbc81e823e8d9aeb8d54e69e63032493e
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose<html xmlns="http://www.w3.org/1999/xhtml">
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <head>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <meta name="generator" content="HTML Tidy, see www.w3.org" />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <title>Apache module mod_auth_anon.c</title>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose </head>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose vlink="#000080" alink="#FF0000">
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <!--#include virtual="header.html" -->
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <h1 align="CENTER">Module mod_auth_anon</h1>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose This module allows "anonymous" user access to authenticated
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose areas.
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <p><a href="module-dict.html#Status"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose rel="Help"><strong>Status:</strong></a> Extension<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <a href="module-dict.html#SourceFile"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose rel="Help"><strong>Source File:</strong></a>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose mod_auth_anon.c<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <a href="module-dict.html#ModuleIdentifier"
2998435fcc95857b73049b3955af9889ab595f24Sumit Bose rel="Help"><strong>Module Identifier:</strong></a>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose anon_auth_module</p>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <h2>Summary</h2>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <p>This module does access control in a manner similar to
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose anonymous-ftp sites; <em>i.e.</em> have a 'magic' user id
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose 'anonymous' and the email address as a password. These email
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose addresses can be logged.</p>
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <p>Combined with other (database) access control methods, this
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose allows for effective user tracking and customization according
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose to a user profile while still keeping the site open for
2998435fcc95857b73049b3955af9889ab595f24Sumit Bose 'unregistered' users. One advantage of using Auth-based user
2998435fcc95857b73049b3955af9889ab595f24Sumit Bose tracking is that, unlike magic-cookies and funny URL
2d07aa724c93bbaec2cd29470941c0754c74f715Sumit Bose pre/postfixes, it is completely browser independent and it
2d07aa724c93bbaec2cd29470941c0754c74f715Sumit Bose allows users to share URLs.</p>
2d07aa724c93bbaec2cd29470941c0754c74f715Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <h2><a id="Directives" name="Directives">Directives</a></h2>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <ul>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <li><a href="#anonymous">Anonymous</a></li>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <li><a href="#Authoritative">Anonymous_Authoritative</a></li>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <li><a href="#LogEmail">Anonymous_LogEmail</a></li>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <li><a href="#MustGiveEmail">Anonymous_MustGiveEmail</a></li>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <li><a href="#NoUserID">Anonymous_NoUserID</a></li>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <li><a href="#VerifyEmail">Anonymous_VerifyEmail</a></li>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose </ul>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <h2><a id="Example" name="Example">Example</a></h2>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose The example below (when combined with the Auth directives of a
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose htpasswd-file based (or GDM, mSQL <em>etc.</em>) base access
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose control system allows users in as 'guests' with the following
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose properties:
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <ul>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <li>It insists that the user enters a userId.
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose (<code>Anonymous_NoUserId</code>)</li>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <li>It insists that the user enters a password.
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose (<code>Anonymous_MustGiveEmail</code>)</li>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <li>The password entered must be a valid email address, ie.
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose contain at least one '@' and a '.'.
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose (<code>Anonymous_VerifyEmail</code>)</li>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <li>The userID must be one of <code>anonymous guest www test
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose welcome</code> and comparison is <strong>not</strong> case
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose sensitive.</li>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <li>And the Email addresses entered in the passwd field are
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose logged to the error log file
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose (<code>Anonymous_LogEmail</code>)</li>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose </ul>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <p>Excerpt of access.conf:</p>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <blockquote>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <code>Anonymous_NoUserId off<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose Anonymous_MustGiveEmail on<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose Anonymous_VerifyEmail on<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose Anonymous_LogEmail on<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose Anonymous anonymous guest www test welcome</code>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <p><code>AuthName "Use 'anonymous' &amp; Email address for
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose guest entry"<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose AuthType basic</code></p>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <p><code># An
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose AuthUserFile/AuthDBUserFile/AuthDBMUserFile<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose # directive must be specified, or use<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose # Anonymous_Authoritative for public access.<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose # In the .htaccess for the public directory, add:<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose &lt;Files *&gt;<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose Order Deny,Allow<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose Allow from all<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose </code></p>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <p><code>Require valid-user<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose &lt;/Files&gt;<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose </code></p>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose </blockquote>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <hr />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <h2><a id="anonymous" name="anonymous">Anonymous
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose directive</a></h2>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <!--%plaintext &lt;?INDEX {\tt Anonymous} directive&gt; -->
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <a href="directive-dict.html#Syntax"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose rel="Help"><strong>Syntax:</strong></a> Anonymous <em>user</em>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose [<em>user</em>] ...<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <a href="directive-dict.html#Default"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose rel="Help"><strong>Default:</strong></a> none<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <a href="directive-dict.html#Context"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose rel="Help"><strong>Context:</strong></a> directory,
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose .htaccess<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <a href="directive-dict.html#Override"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose rel="Help"><strong>Override:</strong></a> AuthConfig<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <a href="directive-dict.html#Status"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose rel="Help"><strong>Status:</strong></a> Extension<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <a href="directive-dict.html#Module"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose rel="Help"><strong>Module:</strong></a> mod_auth_anon
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <p>A list of one or more 'magic' userIDs which are allowed
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose access without password verification. The userIDs are space
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose separated. It is possible to use the ' and " quotes to allow a
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose space in a userID as well as the \ escape character.</p>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <p>Please note that the comparison is
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <strong>case-IN-sensitive</strong>.<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose I strongly suggest that the magic username
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose '<code>anonymous</code>' is always one of the allowed
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose userIDs.</p>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <p>Example:<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <code>Anonymous anonymous "Not Registered" 'I don\'t
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose know'</code></p>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <p>This would allow the user to enter without password
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose verification by using the userId's 'anonymous',
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose 'AnonyMous','Not Registered' and 'I Don't Know'.</p>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <hr />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <h2><a id="Authoritative"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose name="Authoritative">Anonymous_Authoritative directive</a></h2>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <a href="directive-dict.html#Syntax"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose rel="Help"><strong>Syntax:</strong></a> Anonymous_Authoritative
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose on|off<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <a href="directive-dict.html#Default"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose rel="Help"><strong>Default:</strong></a>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <code>Anonymous_Authoritative off</code><br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <a href="directive-dict.html#Context"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose rel="Help"><strong>Context:</strong></a> directory,
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose .htaccess<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <a href="directive-dict.html#Override"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose rel="Help"><strong>Override:</strong></a> AuthConfig<br />
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <a href="directive-dict.html#Status"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose rel="Help"><strong>Status:</strong></a> Extension<br />
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <a href="directive-dict.html#Module"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose rel="Help"><strong>Module:</strong></a> mod_auth_anon
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <p>When set 'on', there is no fall-through to other
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose authorization methods. So if a userID does not match the values
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose specified in the <code>Anonymous</code> directive, access is
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose denied.</p>
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <p>Be sure you know what you are doing when you decide to
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose switch it on. And remember that it is the linking order of the
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose modules (in the Configuration / Make file) which details the
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose order in which the Authorization modules are queried.</p>
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <hr />
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <h2><a id="LogEmail" name="LogEmail">Anonymous_LogEmail
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose directive</a></h2>
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <a href="directive-dict.html#Syntax"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose rel="Help"><strong>Syntax:</strong></a> Anonymous_LogEmail
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose on|off<br />
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <a href="directive-dict.html#Default"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose rel="Help"><strong>Default:</strong></a>
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <code>Anonymous_LogEmail on</code><br />
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <a href="directive-dict.html#Context"
c51a204a40b8f85f7f525edb3e24520916d8b9c7Sumit Bose rel="Help"><strong>Context:</strong></a> directory,
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose .htaccess<br />
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <a href="directive-dict.html#Override"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose rel="Help"><strong>Override:</strong></a> AuthConfig<br />
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <a href="directive-dict.html#Status"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose rel="Help"><strong>Status:</strong></a> Extension<br />
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <a href="directive-dict.html#Module"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose rel="Help"><strong>Module:</strong></a> mod_auth_anon
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <p>When set 'on', the default, the 'password' entered (which
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose hopefully contains a sensible email address) is logged in the
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose error log.</p>
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <hr />
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <h2><a id="MustGiveEmail"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose name="MustGiveEmail">Anonymous_MustGiveEmail directive</a></h2>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <!--%plaintext &lt;?INDEX {\tt Anonymous_MustGiveEmail} directive&gt; -->
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <a href="directive-dict.html#Syntax"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose rel="Help"><strong>Syntax:</strong></a> Anonymous_MustGiveEmail
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose on|off<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <a href="directive-dict.html#Default"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose rel="Help"><strong>Default:</strong></a>
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <code>Anonymous_MustGiveEmail on</code><br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <a href="directive-dict.html#Context"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose rel="Help"><strong>Context:</strong></a> directory,
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose .htaccess<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <a href="directive-dict.html#Override"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose rel="Help"><strong>Override:</strong></a> AuthConfig<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <a href="directive-dict.html#Status"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose rel="Help"><strong>Status:</strong></a> Extension<br />
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <a href="directive-dict.html#Module"
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose rel="Help"><strong>Module:</strong></a> mod_auth_anon
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose
a6098862048d4bb469130b9ff21be3020d6f2c54Sumit Bose <p>Specifies whether the user must specify an email address as
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose the password. This prohibits blank passwords.</p>
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <hr />
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose
c51a204a40b8f85f7f525edb3e24520916d8b9c7Sumit Bose <h2><a id="NoUserID" name="NoUserID">Anonymous_NoUserID
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose directive</a></h2>
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <a href="directive-dict.html#Syntax"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose rel="Help"><strong>Syntax:</strong></a> Anonymous_NoUserID
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose on|off<br />
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <a href="directive-dict.html#Default"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose rel="Help"><strong>Default:</strong></a>
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <code>Anonymous_NoUserID off</code><br />
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <a href="directive-dict.html#Context"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose rel="Help"><strong>Context:</strong></a> directory,
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose .htaccess<br />
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <a href="directive-dict.html#Override"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose rel="Help"><strong>Override:</strong></a> AuthConfig<br />
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <a href="directive-dict.html#Status"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose rel="Help"><strong>Status:</strong></a> Extension<br />
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <a href="directive-dict.html#Module"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose rel="Help"><strong>Module:</strong></a> mod_auth_anon
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <p>When set 'on', users can leave the userID (and perhaps the
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose password field) empty. This can be very convenient for
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose MS-Explorer users who can just hit return or click directly on
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose the OK button; which seems a natural reaction.</p>
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <hr />
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <h2><a id="VerifyEmail"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose name="VerifyEmail">Anonymous_VerifyEmail directive</a></h2>
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <a href="directive-dict.html#Syntax"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose rel="Help"><strong>Syntax:</strong></a> Anonymous_VerifyEmail
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose on|off<br />
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <a href="directive-dict.html#Default"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose rel="Help"><strong>Default:</strong></a>
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <code>Anonymous_VerifyEmail off</code><br />
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <a href="directive-dict.html#Context"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose rel="Help"><strong>Context:</strong></a> directory,
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose .htaccess<br />
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <a href="directive-dict.html#Override"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose rel="Help"><strong>Override:</strong></a> AuthConfig<br />
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <a href="directive-dict.html#Status"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose rel="Help"><strong>Status:</strong></a> Extension<br />
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <a href="directive-dict.html#Module"
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose rel="Help"><strong>Module:</strong></a> mod_auth_anon
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <p>When set 'on' the 'password' entered is checked for at least
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose one '@' and a '.' to encourage users to enter valid email
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose addresses (see the above <code>Auth_LogEmail</code>).
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose <!--#include virtual="footer.html" -->
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose </p>
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose </body>
2998435fcc95857b73049b3955af9889ab595f24Sumit Bose</html>
b6dfbf81c61d4431aaa81687ec53e892f8b71edbSumit Bose
c51a204a40b8f85f7f525edb3e24520916d8b9c7Sumit Bose