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

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.