NAME
Catalyst::Authentication::Store::DBI - Storage class for Catalyst
Authentication using DBI
SYNOPSIS
use Catalyst qw(Authentication);
__PACKAGE__->config->{'authentication'} = {
'default_realm' => 'default',
'realms' => {
'default' => {
'credential' => {
'class' => 'Password',
'password_field' => 'password',
'password_type' => 'hashed',
'password_hash_type' => 'SHA-1',
},
'store' => {
'class' => 'DBI',
'user_table' => 'login',
'user_key' => 'id',
'user_name' => 'name',
'role_table' => 'authority',
'role_key' => 'id',
'role_name' => 'name',
'user_role_table' => 'competence',
'user_role_user_key' => 'login',
'user_role_role_key' => 'authority',
},
},
},
};
sub login :Global
{
my ($self, $c) = @_;
my $req = $c->request();
# catch login failures
unless ($c->authenticate({
'name' => $req->param('name'),
'password' => $req->param('password'),
})) {
...
}
...
}
sub something :Path
{
my ($self, $c) = @_;
# handle missing role case
unless ($c->check_user_roles('editor')) {
...
}
...
}
DESCRIPTION
This module implements the Catalyst::Authentication API using
Catalyst::Model::DBI.
It uses DBI to let your application authenticate users against a
database and it provides support for
Catalyst::Plugin::Authorization::Roles.
METHODS
new
find_user
for_session
from_session
user_supports
SEE ALSO
Catalyst::Plugin::Authentication
Catalyst::Model::DBI
Catalyst::Plugin::Authorization::Roles
AUTHOR
Simon Bertrang, <simon.bertrang@puzzworks.com>
COPYRIGHT
Copyright (c) 2008 PuzzWorks OHG, <http://puzzworks.com/>
LICENSE
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.