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 "[email protected]"

COPYRIGHT
   This program is free software, you can redistribute it and/or modify it
   under the same terms as Perl itself.