NAME

Gantry::Control::C::AuthenBase - Database based authentication

SYNOPSIS

use Gantry::Control::C::AuthenSubClass qw/-Engine=MP20/;

DESCRIPTION

This module allows authentication against a database. It has two subclasses: AuthenRegular and AuthenCDBI. Use the latter if you use Class::DBI (or Class::DBI::Sweet). Use the former otherwise.

APACHE

Sample Apache conf configuration

  <Location /location/to/auth >
    AuthType    Basic
    AuthName    "Manual"
    
    PerlSetVar  auth_dbconn     'dbi:Pg:<database_name>'
    PerlSetVar  auth_dbuser     '<database_user>'
    PerlSetVar  auth_dbpass     '<database_password>'
    
    PerlSetVar  auth_dbcommit   off

    PerlAuthenHandler   Gantry::Control::C::AuthenSubClass

    require     valid-user
  </Location>

Replace AuthenSubClass with AuthenCDBI if you use Class::DBI (or any descendent of it) or with AuthenRegular if you use any other ORM.

DATABASE

This is the table that will be queried for the authentication of the user.

  create table "auth_users" (
    "id"            int4 default nextval('auth_users_seq') NOT NULL,
    "user_id"       int4,
    "active"        bool,
    "user_name"     varchar,
    "passwd"        varchar,
    "crypt"         varchar,
    "first_name"    varchar,
    "last_name"     varchar,
    "email"         varchar
  );

METHODS

handler

The mod_perl authen handler.

SEE ALSO

Gantry::Control::C::Authz(3), Gantry::Control(3), Gantry(3)

LIMITATIONS

This and all authentication and autorization modules pre-suppose that the auth_* tables are in the same database as the application tables.

AUTHOR

Tim Keefer <tkeefer@gmail.com>

COPYRIGHT

Copyright (c) 2005-6, Tim Keefer.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.