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.