This wiki is locked. Future workgroup activity and specification development must take place at our new wiki. For more information, see this blog post about the new governance model and this post about changes to the website.

Package TWiki::Users::BaseUserMapping

User mapping is the process by which TWiki maps from a username (a login name) to a display name and back. It is also where groups are maintained.

The BaseMapper? provides support for a small number of predefined users. No registration - this is a read only usermapper. It uses the mapper prefix 'BaseUserMapping_'.

Users

  • TWikiAdmin? - uses the password that was set in Configure (IF its not null)
  • TWikiGuest?
  • UnknownUser?
  • TWikiContributor - 1 Jan 2005
  • TWikiRegistrationAgent? - 1 Jan 2005

Groups

  • $TWiki::cfg{SuperAdminGroup}
  • TWikiBaseGroup?

ClassMethod new ($session)

Construct the BaseUserMapping? object

ObjectMethod finish ()

Break circular references.

ObjectMethod loginTemplateName () -> templateFile

allows UserMappings? to come with customised login screens - that should preffereably only over-ride the UI function

ObjectMethod handlesUser ($cUID,$login,$wikiname) -> $boolean

See baseclass for documentation.

In the BaseUserMapping? case, we know all the details of the users we specialise in.

ObjectMethod login2cUID ($login) -> $cUID

Convert a login name to the corresponding canonical user name. The canonical name can be any string of 7-bit alphanumeric and underscore characters, and must correspond 1:1 to the login name. (undef on failure)

ObjectMethod getLoginName ($cUID) -> login

converts an internal cUID to that user's login (undef on failure)

ObjectMethod getWikiName ($cUID) -> wikiname

Map a canonical user name to a wikiname

ObjectMethod userExists ($user) -> $boolean

Determine if the user already exists or not.

ObjectMethod eachUser () -> listIteratorofcUIDs

See baseclass for documentation.

ObjectMethod eachGroupMember ($group) -> listIteratorofcUIDs

See baseclass for documentation.

The basemapper implementation assumes that there are no nested groups in the basemapper.

ObjectMethod isGroup ($name) -> boolean

See baseclass for documentation.

ObjectMethod eachGroup () -> ListIteratorofgroupnames?

See baseclass for documentation.

ObjectMethod eachMembership ($cUID) -> ListIteratorofgroupsthisuserisin?

See baseclass for documentation.

ObjectMethod isAdmin ($cUID) -> $boolean

True if the user is an admin

  • is a member of the $TWiki::cfg{SuperAdminGroup}

ObjectMethod getEmails ($name) -> @emailAddress

If $name is a cUID, return their email addresses. If it is a group, return the addresses of everyone in the group.

ObjectMethod findUserByWikiName ($wikiname) -> listofcUIDsassociatedwiththatwikiname

See baseclass for documentation.

ObjectMethod checkPassword ($login,$passwordU) -> $boolean

Finds if the password is valid for the given user.

Returns 1 on success, undef on failure.

ObjectMethod setPassword ($cUID,$newPassU,$oldPassU) -> $boolean

If the $oldPassU matches matches the user's password, then it will replace it with $newPassU.

If $oldPassU is not correct and not 1, will return 0.

If $oldPassU is 1, will force the change irrespective of the existing password, adding the user if necessary.

Otherwise returns 1 on success, undef on failure.

ObjectMethod passwordError () -> $string

returns a string indicating the error that happened in the password handlers TODO: these delayed error's should be replaced with Exceptions.

returns undef if no error

Topic revision: r1 - 03 Aug 2008 - 22:17:44 - TWikiContributor
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.TWikiUsersBaseUserMappingDotPm