summaryrefslogtreecommitdiff
path: root/TWiki/TWikiUserAuthentication.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'TWiki/TWikiUserAuthentication.mdwn')
-rw-r--r--TWiki/TWikiUserAuthentication.mdwn41
1 files changed, 23 insertions, 18 deletions
diff --git a/TWiki/TWikiUserAuthentication.mdwn b/TWiki/TWikiUserAuthentication.mdwn
index b554fbe1..fe896a91 100644
--- a/TWiki/TWikiUserAuthentication.mdwn
+++ b/TWiki/TWikiUserAuthentication.mdwn
@@ -12,19 +12,27 @@ TWiki uses visitor identification to keep track of who made changes to topics at
### <a name="Authentication_Options"> Authentication Options </a>
-No special installation steps need to be performed if the server is already authenticated. If not, you have three remaining options to controlling user access:
+No special installation steps need to be performed if the server is already authenticated. If not, you have three standard options for controlling user access:
-1. **Forget about authentication.** All changes are registered to %MAINWEB%.TWikiGuest user, so you can't tell who made changes. Your site is completely open and public - anyone can browse and edit freely, in classic Wiki mode.<br />
-2. **Use Basic Authentication** for the <code>**edit**</code> and <code>**attach**</code> scripts. This uses .htaccess and generates the familiar grey log-in window. The [[TWikiDocumentation]] has step-by-step instructions.<br />
-3. **Use SSL** to authenticate and secure the whole server.
+1. **Forget about authentication** to make your site completely public - anyone can browse and edit freely, in classic Wiki mode. All visitors are assigned the %MAINWEB%.TWikiGuest default identity, so you can't track individual user activity. <br />
+2. **Use SSL** (Secure Sockets Layer; HTTPS) to authenticate and secure the whole server. <br />
+3. **Use Basic Authentication (HTAccess)** to control access by protecting key scripts: `attach`, `edit=`, `installpasswd`, `password`, `preview`, `rename`, `save`, `upload`, `view`, `viewfile` using .htaccess files. The [[TWikiDocumentation]] has step-by-step instructions.
-### <a name="Tracking_by_IP_Address"> Tracking by IP Address </a>
+#### <a name="Partial_Authentication"> Partial Authentication </a>
-The <code>**REMOTE\_USER**</code> environment variable is only set for the scripts that are under authentication. If, for example, the <code>**edit**</code>, <code>**save**</code> and <code>**preview**</code> scripts are authenticated, but not <code>**view**</code>, you would get your [[WikiName]] in <code>**preview**</code> for the <code>**%WIKIUSERNAME%**</code> variable, but <code>**view**</code> will show <code>**TWikiGuest**</code> instead of your WikiName.
+**Tracking by IP address** is an experimental feature, enabled in `lib/TWiki.cfg`. It lets you combine open access to some functions, with authentication on others, with full user activity tracking:
-There is a way to tell TWiki to remember the user for the scripts that are not authenticated, ex: in case the <code>**REMOTE\_USER**</code> environment variable is not set. TWiki can be configured to remember the IP address/username pair whenever an authentication happens (edit topic, attach file). Once remembered, the non-authenticated scripts like <code>**view**</code> will show the correct username instead of <code>**TWikiGuest**</code>. You can enable this by setting the <code>**$doRememberRemoteUser**</code> flag in <code>**TWiki.cfg**</code>. TWiki persistently stores the IP address/username pairs in the file <code>**$remoteUserFilename**</code>, which is <code>**"$dataDir/remoteusers.txt"**</code> by default. Please note that this can fail if the IP address changes due to dynamically assigned IP addresses or proxy servers.
+* Normally, the <code>**REMOTE\_USER**</code> environment variable is set for the scripts that are under authentication. If, for example, the <code>**edit**</code>, <code>**save**</code> and <code>**preview**</code> scripts are authenticated, but not <code>**view**</code>, you would get your [[WikiName]] in <code>**preview**</code> for the <code>**%WIKIUSERNAME%**</code> variable, but <code>**view**</code> will show <code>**TWikiGuest**</code> instead of your WikiName.
-**Authentication Test:** You are %WIKIUSERNAME% (%WIKIUSERNAME%)
+* TWiki can be configured to remember the IP address/username pair whenever an authentication happens (edit topic, attach file). Once remembered, the non-authenticated scripts, like <code>**view**</code>, will show the correct username instead of %MAINWEB%.TWikiGuest.
+
+* Enable this feature by setting the <code>**$doRememberRemoteUser**</code> flag in `TWiki.cfg`. TWiki then persistently stores the IP address/username pairs in the file, `$remoteUserFilename`, which is `"$dataDir/remoteusers.txt"` by default.
+
+* **_NOTE:_** This approach can fail if the IP address changes due to dynamically assigned IP addresses or proxy servers.
+
+**Quick Authentication Test** - Use the %WIKIUSERNAME% variable to return your current identity:
+
+* You are %WIKIUSERNAME%
### <a name="TWiki_Username_vs_Login_Username"> TWiki Username vs. Login Username </a>
@@ -33,19 +41,16 @@ This section applies only if your %WIKITOOLNAME% is installed on a server that i
%WIKITOOLNAME% internally manages two usernames: Login username and TWiki username.
* **Login username:** When you login to the intranet, you use your existing login username, ex: <code>**pthoeny**</code>. This name is normally passed to %WIKITOOLNAME% by the <code>**REMOTE\_USER**</code> environment variable, and used by internally by %WIKITOOLNAME%. Login usernames are maintained by your system administrator.
+
* **TWiki username:** Your name in [[WikiNotation]], ex: <code>**PeterThoeny**</code>, is recorded when you register using [[TWikiRegistration]]; doing so also generates a personal home page in the %MAINWEB% web.
%WIKITOOLNAME% can automatically map an intranet username to a TWiki username, provided that the username pair exists in the %MAINWEB%.%WIKIUSERSTOPIC% topic. This is also handled automatically when you register.
-> **NOTE:**
->
-> \*To correctly enter a
->
->
+> **_NOTE:_**
>
-> [[WikiName]]
+> **To correctly enter a [[WikiName]]**
>
-> \* - your own or someone else's - be sure to include the %MAINWEB% web name in front of the Wiki username, followed by a period, and no spaces. Ex:
+> - your own or someone else's - be sure to include the %MAINWEB% web name in front of the Wiki username, followed by a period, and no spaces. Ex:
>
> <div>
> <center><code><b>%MAINWEB%.<nop>WikiUsername</nop></b></code> or <code><b>%<nop>MAINWEB%.<nop>WikiUsername</nop></nop></b></code></center>
@@ -67,13 +72,13 @@ This section applies only if your %WIKITOOLNAME% is installed on a server that i
### <a name="Changing_Passwords"> Changing Passwords </a>
-Change and reset passwords using forms on regular pages. Use topic-level [[TWikiAccessControl]] to restrict use as required.
+Change and reset passwords using forms on regular pages. Use [[TWikiAccessControl]] to restrict use as required.
-* The [[ChangePassword]] form, <code>**TWiki/ChangePassword**</code>:
+* The [[ChangePassword]] form ( <code>**TWiki/ChangePassword**</code> ):
> %INCLUDE\{"ChangePassword"\}%
-* The [[ResetPassword]] form <code>**TWiki/ResetPassword**</code>:
+* The [[ResetPassword]] form ( <code>**TWiki/ResetPassword**</code> ):
> %INCLUDE\{"ResetPassword"\}%