La configuration de LemonLDAP::NG est construite autour des hôtes virtuels Apache. Chaque hôte virtuel est une ressource protégée, avec règles d'accès, en-têtes, options et données POST.
Pour protéger un hôte virtuel dans Apache, l'agent LemonLDAP::NG doit être activé (voir configuration globale d'Apache).
Ainsi n'importe quel hôte virtuel peut être protégé en ajoutant cette ligne :
PerlHeaderParserHandler Lemonldap::NG::Handler
Exemple d'hôte virtuel protégé pour une application locale :
<VirtualHost *:80> ServerName localsite.example.com PerlHeaderParserHandler Lemonldap::NG::Handler DocumentRoot /var/www/localsite ErrorLog /var/log/apache2/localsite_error.log CustomLog /var/log/apache2/localsite_access.log combined </VirtualHost>
Exemple d'hôte virtuel protégé avec Lemonldap::NG en proxy-inverse :
<VirtualHost *:80> ServerName application.example.com PerlHeaderParserHandler Lemonldap::NG::Handler # Reverse-Proxy ProxyPass / http://private-name/ # Change "Location" header in redirections ProxyPassReverse / http://private-name/ # Change domain cookies ProxyPassReverseCookieDomain private-name application.example.com ErrorLog /var/log/apache2/proxysite_error.log CustomLog /var/log/apache2/proxysite_access.log combined </VirtualHost>
La même chose avec le serveur distant configuré avec le même nom d'hôte :
<VirtualHost *:80> ServerName application.example.com PerlHeaderParserHandler Lemonldap::NG::Handler # Reverse-Proxy ProxyPass / http://APPLICATION_IP/ ProxyPreserveHost on ErrorLog /var/log/apache2/proxysite_error.log CustomLog /var/log/apache2/proxysite_access.log combined </VirtualHost>
ProxyPreserveHost
transfère l'en-tête Host à l'application protégée.
REMOTE_USER
pour connaître le nom d'utilisateur connecté, qui n'est pas renseignée en mode reverse-proxy. Dans ce cas, voir comment convertir les en-têtes en variable d'environnement.
Un petit menu flottant peut être ajouté aux applications par une seimple configuration Apache :
PerlOutputFilterHandler Lemonldap::NG::Handler::Menu
Les pages où ce menu est affiché peuvent être restreintes, par exemple :
<Location /var/www/html/index.php> PerlOutputFilterHandler Lemonldap::NG::Handler::Menu </Location>
Un hôte virtuel apache protégé par un agent LemonLDAP::NG doit être enregistré dans la configuration LemonLDAP::NG.
Pour ce faire, utiliser le manager, et aller dans la branche Virtual Hosts
. Il est possible d'ajouter, effacer ou modifier un hôte virtuel ici.
Un hôte vituel contient :
See Writing rules and headers to learn how to configure access control and HTTP headers sent to application by LL::NG.
Voir Rejeu des formulaires pour savoir comment configurer le rejeu des formulaires pour poster des données à une applications protégée.
Quelques options sont disponibles :
Ces options sont utilisées dans la construction des URL de redirection (lorsque l'utilisateur n'est pas connecté ou pour les requêtes CDA). Sauf modification, les valeurs par défaut sont utilisées. Ces options ne sont à utiliser que pour surcharger les valeurs par défaut.