NAME
    Catalyst::Authentication::Credential::Authen::Simple - Verify
    credentials with the Authen::Simple framework

SYNOPSIS
      use Catalyst qw(Authentication);
      # later on ...
      if ($c->authenticate({ username => 'myusername', 
                             password => 'mypassword' })){
        my $long_name = $c->user->get('LongName');
        # Hello Mr $long_name 
      }

DESCRIPTION
    This module helps your Cataylst Application authenticate against a lot
    of credential databases thanks to the Authen::Simple framework.

USAGE
    Just configure your Catalyst App Authentication to use class
    'Authen::Simple' as the credential verifier, and give it a set of
    Authen::Simple classes. You can pass arguments to the Authen::Simple:XXX
    class constructors with the 'args' key. Note that the authen key is an
    array. If more than one class is specified, when your app authenticates,
    the username and password is submitted to each class until one of the
    classes returns that the user/pass pair is valid. If no class validates
    the credentials, the user is not able to log in.

      'Plugin::Authentication' => {
        'realms' => {
          'default' => {
            'store' => { ... }
            'credential' => {
              'class' => 'Authen::Simple',
              'authen' => [
                {
                  'class' => 'Passwd',
                  'args' => {
                    'path' => '/etc/shadow'
                  }
                },
                {
                  'class' => 'SSH',
                  'args' => {
                    'host' => 'host.company.com'
                  }
                }
              ]
            }
          }
        }
      }

    If the Catalyst log object is compatible with the Authen::Simple log
    object, Authen::Simple classes will log through Catalyst.

  new
    Called by Catalyst::Authentication. Instances the Authen::Simple classes
    read from the configuration.

  authenticate
     Usage     : Call $c->authenticate({ username => ..., password => ...}); 
     Returns   : User object if the credentials are verified successfully. undef if user not authenticated.

AUTHOR
        Jose Luis Martinez
        CPAN ID: JLMARTIN
        CAPSiDE
        jlmartinez@capside.com
        http://www.pplusdomain.net

THANKS
    Tobjorn Lindahl, Dylan Martin, Tomas Doran and Inigo Tejedor Arrondo for
    patches and recommedations

COPYRIGHT
    Copyright (c) 2008 by Jose Luis Martinez Torres

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

    The full text of the license can be found in the LICENSE file included
    with this module.

SEE ALSO
    Authen::Simple and all of the Authen::Simple::XXX classes