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
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.