NAME

Lemonldap::NG::Handler::Vhost - Perl extension for building a Lemonldap compatible handler able to manage Apache virtual hosts.

SYNOPSIS

Create your own package:

  package My::Package;
  use Lemonldap::NG::Handler::Vhost;
  
  # IMPORTANT ORDER
  our @ISA = qw (Lemonldap::NG::Handler::Vhost Lemonldap::NG::Handler);
  
  __PACKAGE__->init ( { locationRules => {
             'vhost1.dc.com' => {
	         'default' => '$ou =~ /brh/'
	     },
	     'vhost2.dc.com' => {
	         '^/pj/.*$'       => q($qualif="opj"),
		 '^/rh/.*$'       => q($ou=~/brh/),
		 '^/rh_or_opj.*$' => q($qualif="opj or $ou=~/brh/),
                 default          => 'accept',
	     },
	     # Put here others Lemonldap::NG::Handler options
	   }
	 );

Other example, using Lemonldap::NG::Handler::SharedConf

package My::Package;
use Lemonldap::NG::Handler::SharedConf;
use Lemonldap::NG::Handler::Vhost;

# IMPORTANT ORDER
# our @ISA = qw (Lemonldap::NG::Handler::Vhost Lemonldap::NG::Handler::SharedConf);

__PACKAGE__->init ... # as using Lemonldap::NG::Handler::SharedConf alone

Change configuration

  __PACKAGE__->setConf ( {
               locationRules => {
                 'vhost1.dc.com' => {
	           'default' => '$ou =~ /brh/'
                 },
	         'vhost2.dc.com' => {
	           '^/pj/.*$'       => q($qualif="opj"),
		   '^/rh/.*$'       => q($ou=~/brh/),
		   '^/rh_or_opj.*$' => q($qualif="opj or $ou=~/brh/),
                   default          => 'accept',
	         },
	       },
	       exportedHeaders => {
	         'vhost1.dc.com' => {
	          'Authorization'=>'"Basic ".MIME::Base64::encode_base64($uid)',
		  'User-Auth'    => '$uid',
		 },
		 'vhost2.dc.com' => {
		   'User-Auth'   => '$uid',
		 },
               }
	       # Put here others Lemonldap::NG::Handler::SharedConf options
	     }
	   );

Call your package in <apache-directory>/conf/httpd.conf

PerlRequire MyFile
PerlInitHandler My::Package

DESCRIPTION

Lemonldap is a simple Web-SSO based on Apache::Session modules. It simplifies the build of a protected area with a few changes in the application (they just

This library provides a way to protect Apache virtual hosts with Lemonldap.

INITIALISATION PARAMETERS

Lemonldap::NG::Handler::Vhost splits the locationRules parameter into a hash reference which contains anonymous hash references as used by Lemonldap::NG::Handler.

SEE ALSO

Lemonldap::NG::Handler(3)

AUTHOR

Xavier Guimard, <x.guimard@free.fr>

COPYRIGHT AND LICENSE

Copyright (C) 2005 by Xavier Guimard

This library is free software; you can redistribute it and/or modify it under same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available.