Catalyst::Plugin::Authentication::CDBI - CDBI Authentication for Catalyst
use Catalyst 'Authentication::CDBI'; __PACKAGE__->config->{authentication} = { user_class => 'PetStore::Model::CDBI::Customer', user_field => 'email', role_class => 'PetStore::Model::CDBI::Role', user_role_class => 'PetStore::Model::CDBI::CustomerRole', user_role_user_field => 'customer' }; $c->login( $user, $password ); $c->logout; $c->session_login( $user, $password ); $c->session_logout; $c->roles(qw/customer admin/); CREATE TABLE customer ( id INTEGER PRIMARY KEY, email TEXT, password TEXT ); CREATE TABLE role ( id INTEGER PRIMARY KEY, name TEXT ); CREATE TABLE customer_role ( id INTEGER PRIMARY KEY, customer INTEGER REFERENCES customer, role INTEGER REFERENCES role );
Note that this plugin requires a session plugin like Catalyst::Plugin::Session::FastMmap.
Catalyst::Plugin::Session::FastMmap
Attempt to authenticate a user. Takes username/password as arguments,
$c->login( $user, $password );
User remains authenticated until end of request.
Log out the user. will not clear the session, so user will still remain logged in at next request unless session_logout is called.
check for permissions. used by the 'roles' function.
Check permissions for roles and return true or false.
$c->roles(qw/foo bar/);
Returns an arrayref containing the verified roles.
my @roles = @{ $c->roles };
Persistently login the user. The user will remain logged in until he clears the session himself, or session_logout is called.
$c->session_login( $user, $password );
Session logout. will delete the user object from the session.
sets $c->request->{user} from session.
sets up $c->config->{authentication}.
Takes an arrayref of roles and checks if user has the supplied roles. Returns 1/0.
Catalyst.
Sebastian Riedel, sri@cpan.org Marcus Ramberg, mramberg@cpan.org
sri@cpan.org
mramberg@cpan.org
This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.
To install Catalyst::Plugin::Authentication::CDBI, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Catalyst::Plugin::Authentication::CDBI
CPAN shell
perl -MCPAN -e shell install Catalyst::Plugin::Authentication::CDBI
For more information on module installation, please visit the detailed CPAN module installation guide.