Manage Users

Register users on your TWiki site; change/reset/install passwords; remove user accounts

ALERT! Some of the features below may be disabled, depending on your TWiki configuration.

Authentication and Access Control

List Users

Register Users

You don't have to have user profile pages in TWiki for Authentication to work - see TWikiUserAuthentication for details.

  • TWikiRegistration is used when you want new users to individually register with TWiki by filling out a form

For administrators only:

  • BulkRegistration to register multiple users at the same time
  • Default user profile page form definition and template:
    • UserForm in TWiki web - form definition (do not change)
    • NewUserTemplate in TWiki web - template page (do not change)
  • Customized user profile page form definition and template:
    • UserForm in Public web - form definition (clone from the one in the TWiki web and customize)
    • NewUserTemplate in Public web - template page (clone from the one in the TWiki web and customize)

Query and Edit User Account Data (Passwords, E-mails)

Note that the below features are only relevant when you use an internal password manager where TWiki can set and reset passwords.

  • ChangePassword is for users who can remember their password and want to change it
  • ResetPassword is for users who cannot remember their password; a system generated password is e-mailed to them
  • ChangeEmailAddress changes the hidden email address stored in the password file

For administrators only:

Changing User Account Names

To change the user's WikiName:

  • Rename the user profile page in the Public web, such as from JaneSmith to JaneMiller.
    • Fix backlinks in the Public web only
    • Make sure the group topics are updated (if any.)
  • Edit the Public.TWikiUsers topic and move the user's entry so that the list is in proper alphabetical order.
  • Recreate the old topic with a pointer to the new topic, so that links in other webs work properly. Example content:
    %M% Jane Smith is now known as JaneMiller

If external authentication is used and you want to change the login name:

  • The login name needs to be changed in the authentication server (e.g. Active Directory)
  • In TWiki's Public.TWikiUsers topic, fix the mapping from login name to WikiName:
       * JaneSmith - jsmith - 13 Sep 2006
    to:
       * JaneMiller - jmiller - 13 Sep 2006

Removing User Accounts

To remove a user account (FredQuimby, who logs in as "fred"):

  1. If you are using a .htpasswd file, edit the .htpasswd file to delete the line starting fred:
    • Warning: Do not use the Apache htpasswd program with .htpasswd files generated by TWiki! htpasswd wipes out email addresses that TWiki plants in the info fields of this file.
  2. Remove the FredQuimby - fred line from the Public.TWikiUsers topic
  3. Remove FredQuimby from all groups and from all the ALLOWWEB/ALLOWTOPIC... declarations, if any.
    Note: If you fail to do this you risk creating a security hole, as the next user to register with the wikiname FredQuimby will inherit the old FredQuimby's permissions.
  4. [optional] Delete their user topic Public.FredQuimby (including attachments, if any.)

Note: Consider leaving the user topic file in place so their past signatures and revision author entries don't end up looking like AnUncreatedTopic. If you want to make it clear the user is no longer around, replace the topic content with a note to that effect. The existence of the UserName topic should also prevent that user name from being re-used, sealing the potential security hole regarding inherited permissions..

Customizing registration Emails.

TWiki's Registration can send 3 emails who's output is governed by templates:

  1. User registration confirmation - templates/registerconfirm.tmpl
  2. User registration notification - templates/registernotify.tmpl
  3. Email to notify the TWiki admin of registration - templates/registernotifyadmin.tmpl

As these are TWikiTemplates, they can be customized and selected using the SKIN path setting. Because there are default tmpl files in the templates dir, this cannot use Template topics.

These template files have a specific format that matches the raw format of emails sent via SMTP, so be careful and test your changes. It is easiest to start by copying the default templates:

cd twiki/templates
cp registernotify.tmpl registernotify.myskin.tmpl
cp registerconfirm.tmpl registerconfirm.myskin.tmpl
cp registernotifyadmin.tmpl registernotifyadmin.myskin.tmpl
then add myskin to the beginning of the SKIN setting in TWikiPreferences.

From this point on, your myskin templates will be used for the registration emails.

To make it possible for TWikiUsers to modify the email contents, you could use a parameterized %INCLUDE% statement in your customized version. e.g.:

From: %WIKIWEBMASTERNAME% <%WIKIWEBMASTER%>
To: %FIRSTLASTNAME% <%EMAILADDRESS%>
Subject: %MAKETEXT{"[_1] - Registration for [_2] ([_3])" args="%WIKITOOLNAME%, %WIKINAME%, %EMAILADDRESS%"}%
MIME-Version: 1.0
Content-Type: text/plain; charset=%CHARSET%
Content-Transfer-Encoding: 8bit

%INCLUDE{
    "Main.RegistrationNotification"
    WIKINAME="%WIKINAME%"
    FIRSTLASTNAME="%FIRSTLASTNAME%"
    EMAILADDRESS="%EMAILADDRESS%"
}%

Note: The use of %WIKINAME%, %FIRSTLASTNAME%, %EMAILADDRESS% passed in from the INCLUDE so that the topic below is similar to the original template.

And then create a topic Public.RegisterNotifyEmail:

Welcome to %WIKITOOLNAME%.

%MAKETEXT{"Your personal [_1] topic is located at [_2]. You can customize it as you like:" args="%WIKITOOLNAME%, %SCRIPTURL{"view"}%/%USERSWEB%/%WIKINAME%"}%

   * %MAKETEXT{"Some people turn it into a personal portal with favorite links, what they work on, what help they'd like, etc."}%
   * %MAKETEXT{"Some add schedule information and vacation notice."}%

Regards
%WIKIWEBMASTERNAME%
Your TWiki Admin

%MAKETEXT{"Note:"}%
   2 %MAKETEXT{"You can change your password at via [_1]" args="%SCRIPTURL{"view"}%/%SYSTEMWEB%/ChangePassword"}%
   3 %MAKETEXT{"If you haven't set a password yet or you want to reset it, go to: [_1]" args="%SCRIPTURL{"view"}%/%SYSTEMWEB%/ResetPassword"}%

%MAKETEXT{"Submitted content:"}%
%FORMDATA%

Note: Remember to secure the topic appropriately to prevent attackers from getting emailed sensitive passwords.

Related topics: UserToolsCategory, AdminToolsCategory

Edit | Attach | Watch | Print version | History: r9 < r8 < r7 < r6 < r5 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r9 - 05 Jun 2011 - TWikiContributor
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 1999-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Insights Collaboration TWiki? Send feedback
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.ManagingUsers.