| Authen::Simple::Adapter(3pm) - phpMan
Authen::Simple::Adapter(3pm) User Contributed Perl Documentation Authen::Simple::Adapter(3pm)
NAME
Authen::Simple::Adapter - Adapter class for implementations
SYNOPSIS
package Authenticate::Simple::Larry;
use strict;
use base 'Authen::Simple::Adapter';
__PACKAGE__->options({
secret => {
type => Params::Validate::SCALAR,
default => 'wall',
optional => 1
}
});
sub check {
my ( $self, $username, $password ) = @_;
if ( $username eq 'larry' && $password eq $self->secret ) {
$self->log->debug( qq/Successfully authenticated user '$username'./ )
if $self->log;
return 1;
}
$self->log->debug( qq/Failed to authenticate user '$username'. Reason: 'Invalid credentials'/ )
if $self->log;
return 0;
}
1;
DESCRIPTION
Adapter class for implementations.
METHODS
· new ( %parameters )
If overloaded, this method should take a hash of parameters. The following options
should be valid:
· cache ( $ )
Any object that supports "get", "set". Only successful authentications are
cached.
cache => Cache::FastMmap->new
· callback ( \& )
A subref that gets called with two scalar references, username and password.
callback = sub {
my ( $username, $password ) = @_;
if ( length($$password) < 6 ) {
return 0; # abort, invalid credintials
}
if ( $$password eq 'secret' ) {
return 1; # abort, successful authentication
}
return; # proceed;
}
· log ( $ )
Any object that supports "debug", "info", "error" and "warn".
log => Log::Log4perl->get_logger('Authen::Simple')
log => $r->log
log => $r->server->log
· init ( \%parameters )
This method is called after construction. It should assign parameters and return the
instance.
sub init {
my ( $self, $parameters ) = @_;
# mock with parameters
return $self->SUPER::init($parameters);
}
· authenticate ( $username, $password )
End user method. Applies callback, checks cache and calls "check" unless aborted by
callback or a cache hit.
· check ( $username, $password )
Must be implemented in sublcass, should return true on success and false on failure.
· check_password( $password, $encrypted )
· options ( \%options )
Must be set in subclass, should be a valid Params::Validate specification. Accessors
for options will be created unless defined in sublcass.
__PACKAGE__->options({
host => {
type => Params::Validate::SCALAR,
optional => 0
},
port => {
type => Params::Validate::SCALAR,
default => 80,
optional => 1
}
});
SEE ALSO
Authen::Simple
Authen::Simple::Password
Params::Validate
AUTHOR
Christian Hansen "chansen AT cpan.org"
COPYRIGHT
This program is free software, you can redistribute it and/or modify it under the same
terms as Perl itself.
perl v5.14.2 2012-04-19 Authen::Simple::Adapter(3pm)
|