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, <[email protected]>

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.