The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Apache::AppSamurai::AuthSimple - Check credentials with Authen::Simple framework

SYNOPSIS

The module is selected and configured inside the Apache configuration.

 # Example with an authname of "fred" for use as part of an Apache config.

 # Configure as an authentication method (Authen::Simple::Passwd shown)
 PerlSetVar fredAuthMethods "AuthSimplePasswd"

 # Set auth method options (Authen::Simple::Passwd "path" option shown)
 PerlSetVar fredAuthSimplePasswdpath "/var/www/conf/passwordfile"

DESCRIPTION

This Apache::AppSamurai authentication module checks a username and password using the Authen::Simple auth framework and a supported Authen::Simple::XXX adaptor module. If this sounds confusing, read on and examine the examples.

This module opens up authentication access to a wide array of options including PAM, LDAP, Kerberos, and even SSH.

USAGE

Basic Apache::AppSamurai::AuthBase configuration options are supported. Additional options are described below. The following must be preceded by the auth name and the auth module name, AuthSimple, followed by the adaptor submodule for Authen::Simple to use, and finally the name of the parameter to set. (This will end up being passed directly to the adaptor submodule.)

For example, if you wish to set the Authen::Simple::Kerberos realm value for the authname "Jerry", you would use:

 PerlSetVar JerryAuthSimpleKerberosrealm "REALM.REALMY.COM"

Note that the configuration key, "realm", is in all lower case to match the key Authen::Simple::Kerberos expects.

Here is another example, this time setting the Authen::Simple::LDAP and the authname "GRAVY":

 PerlSetVar GRAVYAuthSimpleLDAPhost "dir.lovemesomeldap.org"
 PerlSetVar GRAVYAuthSimpleLDAPbasedn "ou=People,dc=lovemesomeldap,dc=org"

Check the documentation for the specific Authen::Simple adaptor you wish to use for a list of configuration parameters. All parameters that can be passed to the new constructor of the adaptor module can be set, with the exception of the log parameter which is handled by Apache::AppSamurai::AuthSimple directly.

See Apache::AppSamurai for more general configuration information, or the examples/conf/ directory in the Apache::AppSamurai distribution for examples.

METHODS

Configure()

Primarily a wrapper for the AuthBase Configure() method, with the addition of code to point all adaptor submodule logging back to Apache::AppSamurai::AuthSimple for handling. This overrides the default logging behaviour for Authen::Simple adaptors, which is to send log messages to STDERR.

Initialize()

Performs the following additional actions:

  • Attempts to load the configured Authen::Simple adaptor submodule

  • Creates a new Authen::Simple instance with the configured adaptor submodule

Authenticator()

Sends the authentication request to the Authen::Simple instance, which in turn sends the request to the configured adaptor submodule. It logs error(s) and/or warnings and returns 0 if the authentication fails for any reason.

debug(), info(), warn(), error()

Logging callback methods used by Authen::Simple to log to. All methods use Apache::AppSamurai::AuthBase::AddError() to push messages onto the log stack.

EXAMPLES

See "USAGE" for basic examples, or configuration examples in examples/conf/ inside the Apache::AppSamurai distribution.

SEE ALSO

Apache::AppSamurai, Apache::AppSamurai::AuthBase, Authen::Simple

AUTHOR

Paul M. Hirsch, <paul at voltagenoir.org>

BUGS

See Apache::AppSamurai for information on bug submission and tracking.

SUPPORT

See Apache::AppSamurai for support information.

COPYRIGHT & LICENSE

Copyright 2008 Paul M. Hirsch, all rights reserved.

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