Authen::Simple::DBI - Simple DBI authentication


Authen-Simple-DBI documentation  | view source Contained in the Authen-Simple-DBI distribution.

Index


NAME

Top

Authen::Simple::DBI - Simple DBI authentication

SYNOPSIS

Top

    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

Top

DBI authentication.

METHODS

Top

* 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

Top

Authen::Simple.

Authen::Simple::Password.

DBI.

AUTHOR

Top

Christian Hansen ch@ngmedia.com

COPYRIGHT

Top


Authen-Simple-DBI documentation  | view source Contained in the Authen-Simple-DBI distribution.