NAME Catalyst::Plugin::Authentication::CDBI - CDBI Authentication for Catalyst SYNOPSIS 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 ); DESCRIPTION Note that this plugin requires a session plugin like "Catalyst::Plugin::Session::FastMmap". EXTENDED METHODS prepare_action setup OVERLOADED METHODS process_roles METHODS login Login. $c->login( $user, $password ); logout Logout. roles 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 }; session_login Login. $c->session_login( $user, $password ); session_logout Session logout. SEE ALSO Catalyst. AUTHOR Sebastian Riedel, "sri@cpan.org" COPYRIGHT This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.