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

                    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')

SEE ALSO

Authen::Simple.

Authen::Simple::Password.

DBI.

AUTHOR

Christian Hansen "ch@ngmedia.com"

COPYRIGHT

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