Les fonctions personnalisées permettent d'étendre LL::NG, elles peuvent être utilisées dans les règles, les en-têtes et les données à rejouer dans les formulaires.
Create your Perl module with custom functions. You can name your module as you want, for example 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
You've just to incicate to LLNG FastCGI server the file to read using either -f
option or CUSTOM_FUNCTIONS_FILE
environment variable. Using packages, you just have to modify your /etc/default/llng-fastcgi-server
(or /etc/default/lemonldap-ng-fastcgi-server
) file:
# Number of process (default: 7) #NPROC = 7 # Unix socket to listen to SOCKET=/var/run/llng-fastcgi-server/llng-fastcgi.sock # Pid file PID=/var/run/llng-fastcgi-server/llng-fastcgi-server.pid # User and GROUP USER=www-data GROUP=www-data # Custom functions file 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)