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>
\s-1DBI\s0 authentication.
This method takes a hash of parameters. The following options are valid:
Database Source Name. Required. dsn => 'dbi:SQLite:dbname=database.db' dsn => 'dbi:mysql:database=database;host=localhost;'
\s-1SQL\s0 statement. The statement must take a single string argument (username) and return a single value (password). Required. statement => 'SELECT password FROM users WHERE username = ?'
Database username. username => 'username'
Database password. password => 'secret'
Any object that supports \*(C`debug\*(C', \*(C`info\*(C', \*(C`error\*(C' and \*(C`warn\*(C'. log => Log::Log4perl->get_logger('Authen::Simple::DBI')
Returns true on success and false on failure.
Authen::Simple.
Authen::Simple::Password.
\s-1DBI\s0.
Christian Hansen \*(C`[email protected]\*(C'
This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.