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

r3 - 14 Oct 2013 - 08:02:47 - TWikiContributor
 
Linux & Open Source for AT91 Microchip Microprocessors

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.

Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.

Microchip and others, are registered trademarks or trademarks of Microchip Technology Inc. and its subsidiaries. This site is powered by the TWiki collaboration platform

Arm® and others are registered trademarks or trademarks of Arm Limited (or its affiliates). Other terms and product names may be trademarks of others.

Ideas, requests, contributions ? Connect to LinksToCommunities page.

Syndicate this siteRSS ATOM