The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

CatalystX::SimpleLogin::Controller::Login - Configurable login controller

SYNOPSIS

    # For simple useage exmple, see CatalystX::SimpleLogin, this is a
    # full config example
    __PACKAGE__->config(
        'Controller::Login' => {
            traits => 'WithRedirect', # Optional, enables redirect-back feature
            actions => {
                login => { # Also optional
                    PathPart => ['theloginpage'], # Change login action to /theloginpage
                },
            },
        },
    );

See CatalystX::SimpleLogin::Form::Login for configuring the form.

DESCRIPTION

Controller base class which exists to have login roles composed onto it for the login and logout actions.

ATTRIBUTES

METHODS

BUILD

Cause form instance to be built at application startup.

login

Login action

login_GET

Displays the login form

login_POST

Processes a submitted login form, and if correct, logs the user in and redirects

redirect_after_login_uri

If you are using WithRedirect (i.e. by default), then this methd is overridden to redirect the user back to the page they intially hit which required authentication.

Note that even if the original URI was a post, then the redirect back will only be a GET.

If you choose NOT to compose the WithRedirect trait, then you can set the uri users are redirected to with the redirect_after_login_uri config key, or by overriding the redirect_after_login_uri method in your own login controller if you need custom logic.

render_login_form

Renders the login form. By default it just calls the form's render method. If you want to do something different, like rendering the form with a template through your view, this is the place to hook into.

SEE ALSO

CatalystX::SimpleLogin::ControllerRole::Login::WithRedirect
CatalystX::SimpleLogin::Form::Login

AUTHORS

See CatalystX::SimpleLogin for authors.

LICENSE

See CatalystX::SimpleLogin for license.