GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  CATALYST::PLUGIN::AUTHENTICATION::CDBI (3)

.ds Aq ’

NAME

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

CONTENTS

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 Catalyst::Plugin::Authentication 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, Catalyst::Plugin::Session::FastMmap

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.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 CDBI (3) 2005-12-08

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.