Custom functions allow one to extend LL::NG, they can be used in headers, rules or form replay data.
Créer un module Perl avec des fonctions personnalisées. Le module peut être appelé à la diligence du rédacteur, par exemple SSOExtensions.pm
:
vi /root/SSOExtensions.pm
package SSOExtensions; sub function1 { my $url = shift; my $param = shift; # Le joli code ici : return $param; } 1;
Le module doit être chargé par Apache (par exemple après le chargement de l'agent) :
# Perl environment
PerlRequire Lemonldap::NG::Handler
PerlRequire /root/SSOExtensions.pm
PerlOptions +GlobalRequest
Il faut indiquer au serveur FastCGI de LLNG le fichier à lire en utilisant l'option -f
ou la variable d'environnement CUSTOM_FUNCTIONS_FILE
. En utilisant les packages, il suffit de modifier le fichier /etc/default/llng-fastcgi-server
(ou /etc/default/lemonldap-ng-fastcgi-server
) :
# Nombre de processus (défaut : 7) #NPROC = 7 # Socket Unix d'écoute SOCKET=/var/run/llng-fastcgi-server/llng-fastcgi.sock # Fichier identifiant de processus (PID) PID=/var/run/llng-fastcgi-server/llng-fastcgi-server.pid # Utilisateur et groupe USER=www-data GROUP=www-data # Fichier éventuel de fonctions personnalisées CUSTOM_FUNCTIONS_FILE=/root/SSOExtensions.pm
Aller dans le manager, Paramètres généraux
» Paramètres avancés
» Fonctions personnalisées
et indiquer :
SSOExtensions::function1
Les fonctions peuvent être utilisées dans une macro, un en-tête ou une règle d'accès, par exemple:
Custom-Header => function1($uid)