TWiki::Users::Password
Base class of all password handlers. Default behaviour is no passwords, so anyone can be anyone they like.
The methods of this class should be overridded by subclasses that want to implement other password handling methods.
Constructs a new password handler of this type, referring to $session for any required TWiki services.
returns true if the password database is not currently modifyable also needs to call $this->{session}->enter_context('passwords_modifyable'); if you want to be able to use the existing TWikiUserMappingContrib ChangePassword topics
Implements TWiki::Password
Returns encrypted password if succeeds. Returns 0 if login is invalid. Returns undef otherwise.
Finds if the password is valid for the given user.
Returns 1 on success, undef on failure.
Delete the users entry.
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.
Will return an encrypted password. Repeated calls to encrypt with the same login/passU will return the same passE.
However if the passU is changed, and subsequently changed back to the old login/passU pair, then the old passE is no longer valid.
If $fresh is true, then a new password not based on any pre-existing salt will be used. Set this if you are generating a completely new password.
Return any error raised by the last method call, or undef if the last method call succeeded.
The default ('none') password manager does not manage emails.
isManagingEmails
-> true
.
isManagingEmails
-> true
.
isManagingEmails
-> true
.
Called by Users.pm.
returns true if the fetchUsers method is implemented and can return an iterator of users. returns undef / nothing in this case, as we are unable to generate a list of users
returns a TWikiIterator of loginnames from the password source. If AllowLoginNames is false this is used to remove the need for a TWikiUsers topic.