NAME

Authen::PAAS::LoginModule - a pluggable authentication module


SYNOPSIS

  use Authen::PAAS::LoginModule;
  my $result = $module->login($subject, \%callbacks);


DESCRIPTION

This module provides the API for authenticating a subject for the purposes of session login. It will be subclassed to provide the implementations of different authentication schemes.


METHODS

my $module = Authen::PAAS::LoginModule->new(flags => $flags, options => \%options);
Creates a new login modules. The flags parameter should be one of the keywords sufficient, requisite, required and optional. The options parameter is a hash reference containing sub-class specific configuration options.

$module->option($name, $default);
Retrieves the value of the configuration option identified by the $name parameter. If the named configuration option is not set, then the $default value is returned.

my $flags = $module->flags;
Retrieves the flags for the module, one of the keywords sufficient, requisite, required and optional.

my $res = $module->login($subject, $callbacks);
Attempt to login using authentication data obtained from the callbacks, if successful, adding principals and credentials to the subject. The $callbacks parameter is a hash reference, whose keys are the names of authentication tokes, and values are instances of th the Authen::PAAS::Callback manpage class. If successful, this method must return a true value, otherwise a false value. This method must be implemented by subclasses.

$module->logout($subject);
Attempt to logout a subject, by removing any principals anc credentials added during the login method. This method must be implemented by subclasses.


AUTHORS

Daniel Berrange <dan@berrange.com>


COPYRIGHT

Copyright (C) 2004-2005 Daniel Berrange


SEE ALSO

perl(1), the Authen::PAAS::Context manpage, the Authen::PAAS::Subject manpage, the Authen::PAAS::Callback manpage.