NAME
Catalyst::ActionRole::NeedsLogin - checks if a user is logged in and if not redirects him to login page
SYNOPSIS
package MyApp::Controller::NeedsAuth;
use Moose;
use namespace::autoclean;
# One needs to inherit from Catalyst::Controller in order
# to get the Does('NeedsLogin') functionality.
BEGIN { extends 'Catalyst::Controller'; }
sub inbox : Path Does('NeedsLogin') {
# Redirects to /login if not logged in
my ($self, $c) = @_;
$c->stash->{template} = "inbox.tt2";
return;
}
sub inbox : Path Does('NeedsLogin') :LoginRedirectMessage('Your custom Message') {
# Redirects to /login if not logged in-
}
# Turn on in config
MyApp->config('Contoller::Login' => { traits => ['WithRedirect'] });
DESCRIPTION
Provides a ActionRole for forcing the user to login.
WRAPPED METHODS
execute
If there is no logged-in user, call the login_redirect() method in the 'Login'
controller with the Catalyst context object, $c, and the message specified by the :LoginRedirectMessage('Message here')
method attribute (see the synopsis).
If there is a user logged-in (i.e: $c->user
is true), execute the body of the action as it is.
SEE ALSO
- CatalystX::SimpleLogin::TraitFor::Controller::Login::WithRedirect
- CatalystX::SimpleLogin::Controller::Login
- CatalystX::SimpleLogin::Form::Login
AUTHORS
See CatalystX::SimpleLogin for authors.
LICENSE
See CatalystX::SimpleLogin for license.