Scroll to navigation

Lemonldap::NG::Portal::Password(3pm) User Contributed Perl Documentation Lemonldap::NG::Portal::Password(3pm)

NAME

Lemonldap:NG::Portal::Password - Writing password modification modules for LemonLDAP::NG.

SYNOPSIS

    package Lemonldap::NG::Portal::Password::My;
    use strict;
    use Mouse;
    # Add constants used by this module
    use Lemonldap::NG::Portal::Main::Constants qw(PE_OK);
    our $VERSION = '0.1';
    extends 'Lemonldap::NG::Portal::Password::Base';
    sub init {
        my ($self) = @_;
        ...
    }
    sub confirm {
        my ( $self, $req, $old_password ) = @_;
        ...
    }
    sub modifyPassword {
        my ( $self, $req, $new_password, %args ) = @_;
        ...
    }

DESCRIPTION

Password modules are used to modify the user's password in regular password change operations or password reset operations. Password modules are independent objects that are instantiated by Lemonldap::NG portal. They must provide methods described below.

METHODS

Accessors and methods provided by Lemonldap::NG::Common::Module

Methods that must be provided by a Password module

init()

Method launched after object creation (after each configuration reload). It must return a true value if initialization was successful.

Methods called on demand

All these methods must return a Lemonldap::NG::Portal::Main::Constants value. They are called with one argument: a Lemonldap::NG::Portal::Main::Request object.

confirm($req, $old_password)

This method is called to validate that the supplied old password is correct. This is slightly different from authentication in the sense that an expired old password cannot be used to login but can be used to set a new password.

modifyPassword($req, $new_password, %args)

This method is called to perform the actual password change.

Possible args:

LOGGING

Logging is provided by $self->logger and $self->userLogger. The following rules must be applied:

AUTHORS

http://lemonldap-ng.org/team>

BUG REPORT

Use OW2 system to report bug or ask for features: <https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/issues>

DOWNLOAD

Lemonldap::NG is available at <https://lemonldap-ng.org/download>

COPYRIGHT AND LICENSE

See COPYING file for details.

This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

2024-11-12 perl v5.36.0