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

Groups

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 getUserData ($cUID) -> $dataRef

Return a reference to an array of hashes with user data, used to manage users. Each item is a hash with:

  • {name} - name of field, such as "email"
  • {title} - title of field, such as "E-mail"
  • {value} - value of field, such as "jimmy@example.com"
  • {type} - type of field: text, password, checkbox, label
  • {size} - size of field, such as 40
  • {note} - comment note, if any

User management forms can be build dynamically from this data structure. Each password manager may return a different set of fields.

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

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r3 - 2013-10-14 - TWikiContributor
 

Copyright © 1999-2024 by the contributing authors. All material from TWiki is the property of the contributing authors.
Questions, comments, or concerns? Contact GNHLUG.
All use of this site subject to our Legal Notice (includes Terms of Service).