University of Natural Resources and Life Sciences (BOKU)
Institute of Computational Biology

PerlDoc

See PublishedAPI for packages intended to be used by Plugin and Contrib authors, or browse all packages.
See also Developing plugins, Developer's Bible, Technical Overview


Parent package: Foswiki::Users
Child packages:

    On this page:

    internal package Foswiki::Users::BaseUserMapping is a Foswiki::UserMapping

    User mapping is the process by which Foswiki 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

    • $Foswiki::cfg{AdminUserLogin} - uses the password that was set in Configure (IF its not null)
    • $Foswiki::cfg{DefaultUserLogin} - WikiGuest
    • UnknownUser
    • ProjectContributor
    • $Foswiki::cfg{Register}{RegistrationAgentWikiName}

    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 () → listIterator of cUIDs

    See baseclass for documentation.

    ObjectMethod eachGroupMember ($group) → listIterator of cUIDs

    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 () → ListIterator of groupnames

    See baseclass for documentation.

    ObjectMethod eachMembership ($cUID) → ListIterator of groups this user is in

    See baseclass for documentation.

    ObjectMethod groupAllowsChange($group) → boolean

    returns 0 if the group is 'owned by the BaseMapper and it wants to veto adding to that group

    ObjectMethod isAdmin( $cUID ) → $boolean

    True if the user is an admin
    • is a member of the $Foswiki::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) → list of cUIDs associated with that wikiname

    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

    returns undef if no error

    Topic revision: r1 - 2023-08-06, UnknownUser
    2024-09-20 - 04:40 Foswiki v2.1.8