NAME

Apache::AuthenIMAP - Perform Basic User Authentication against an IMAP server

SYNOPSIS

Allows users to give their username and e-mail password for authentication against a IMAP server for access to restricted web pages.

   #httpd.conf
   <Location />
      AuthName 'your-authentication-domain'
      AuthType Basic
      PerlSetVar IMAPServer imapserver.yoyodyne.com
      PerlAuthenHandler Apache::AuthenIMAP
      require group staff
      require user john lisa
      require valid-user
   </Location>

DESCRIPTION

This module performs basic user authentication by attempting to log in to the IMAP server specified. If a group requirement is specified, the module attempts to authorize the user using local group information (/etc/group and NIS have both been tested).

This module requires the Mail::IMAPClient module. For lighter server loads and increased speed, it is suggested that this module be used in conjunction with the Apache::AuthenCache module.

CONFIGURATION

AuthType

Set the type of authentication. Only Basic is supported.

AuthName

Set the realm for basic authentication.

require

The require directive takes any of three forms:

  require valid-user
  require user user1 user2 ...
  require group group1 group2 ...

The first successfully authenticates and authorizes any successful IMAP login. The second only authorizes successful authentications for the specified users. The third does a local group membership check for successful authentications and only authorizes users whose primary or secondary groups are specified.

PerlSetVar IMAPServer imapserver.yoyodyne.com

This specifies the IMAP server to contact in order to perform the authentication.

PerlSetVar IMAPPort 143

This specifies the TCP port to connect to on the IMAP server. If left unspecified, the default IMAP port, 143, is used.

AUTHOR

John "Rowan" Littell (littejo at earlham dot edu), scarfed the basic skeleton of this module from the Apache::AuthenN2 module by Valerie Delane. Mario van den Heuvel (m.heuvel at sendrata dot com) supplied a password existence check fix.

COPYRIGHT

Copyright (c) 2002, John "Rowan" Littell

This module is free software. You may distribute and/or modify it under the same terms as Perl itself (either the GNU General Public Licence or the Artistic License, as specified in the Perl README file).

THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO

mod_perl(3), Apache(3)