Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

Catalyst::Plugin::Authentication::CDBI
CDBI Authentication for Catalyst

Catalyst::Plugin::Authentication::CDBI - CDBI Authentication for Catalyst


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

This plugin allows you to authenticate your web users using database tables accessed through Class::DBI classes.

Note that this plugin requires a session plugin such as Catalyst::Plugin::Session::FastMmap.

This module is now well past the teatime of it's lifespan, and no new features will be added. For new applications, you probably want to look at the Catalyst::Plugin::Authentication manpage and friends instead


CONFIGURATION

This plugin is configured by passing an ``authentication'' hash reference to your application's config method. The following keys are supported:

user_class
the name of the class that represents a user object (no default)

user_field
the name of the column holding the user identifier (defaults to ``user'')

password_field
the name of the column holding the user's password (defaults to ``password'')

password_hash
specifies the hashing method for password values; one of: SHA or MD5 (the values are not case-sensitive and the default is empty, i.e. no hashing).

role_class
the name of the role class

role_field
name of the role field

user_role_class
user_role_user_field
(defaults to ``uer'')

user_role_role_field
(defaults to ``role'')

METHODS

login
Attempt to authenticate a user. Takes username/password as arguments,

    $c->login( $user, $password );

The user remains authenticated until end of request. See session_login for persistent login.

logout
Log out the user. will not clear the session, so user will still remain logged in at next request unless session_logout is called.

process_permission
check for permissions. used by the 'roles' function.

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
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
Session logout. will delete the user object from the session.

EXTENDED METHODS

prepare_action
sets $c->request->{user} from session.

setup
sets up $c->config->{authentication}.

OVERLOADED METHODS

process_roles
Takes an arrayref of roles and checks if user has the supplied roles. Returns 1/0.


SEE ALSO

Catalyst, the Catalyst::Plugin::Session::FastMmap manpage


AUTHOR

Sebastian Riedel <sri@cpan.org>, Marcus Ramberg <mramberg@cpan.org>, Andrew Ford <a.ford@ford-mason.co.uk>


COPYRIGHT

This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy