Authen::Simple::DBI - Simple DBI authentication
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>
- •
- 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.
Authen::Simple.
Authen::Simple::Password.
DBI.
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.