Authen::Simple::DBI.3pm

Langue: en

Autres versions - même langue

Version: 2008-02-29 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

Authen::Simple::DBI - Simple DBI authentication

SYNOPSIS

     use Authen::Simple::DBI;
 
 
     my $dbi = Authen::Simple::DBI->new(
         dsn       => 'dbi:SQLite:dbname=database.db',
         statement => 'SELECT password FROM users WHERE username = ?'
     );
 
 
     if ( $dbi->authenticate( $username, $password ) ) {
         # successfull authentication
     }
 
 
     # or as a mod_perl Authen handler
 
 
     PerlModule Apache::DBI
     PerlModule Authen::Simple::Apache
     PerlModule Authen::Simple::DBI
 
 
     PerlSetVar AuthenSimpleDBI_dsn       "dbi:SQLite:dbname=database.db"
     PerlSetVar AuthenSimpleDBI_statement "SELECT password FROM users WHERE username = ?"
 
 
     <Location /protected>
       PerlAuthenHandler Authen::Simple::DBI
       AuthType          Basic
       AuthName          "Protected Area"
       Require           valid-user
     </Location>
 
 

DESCRIPTION

DBI authentication.

METHODS

* new
This method takes a hash of parameters. The following options are valid:
* dsn
Database Source Name. Required.
     dsn => 'dbi:SQLite:dbname=database.db'
     dsn => 'dbi:mysql:database=database;host=localhost;'
 
 
* statement
SQL statement. The statement must take a single string argument (username) and return a single value (password). Required.
     statement => 'SELECT password FROM users WHERE username = ?'
 
 
* username
Database username.
     username => 'username'
 
 
* password
Database password.
     password => 'secret'
 
 
* log
Any object that supports "debug", "info", "error" and "warn".
     log => Log::Log4perl->get_logger('Authen::Simple::DBI')
 
 
* authenticate( $username, $password )
Returns true on success and false on failure.
 

SEE ALSO

Authen::Simple.

Authen::Simple::Password.

DBI.

AUTHOR

Christian Hansen "ch@ngmedia.com" This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.