GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Authen::Simple::Adapter(3) User Contributed Perl Documentation Authen::Simple::Adapter(3)

Authen::Simple::Adapter - Adapter class for implementations

    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;

Adapter class for implementations.

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
            }
        });
        

Authen::Simple

Authen::Simple::Password

Params::Validate

Christian Hansen "chansen@cpan.org"

This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.
2012-04-19 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.