Fonctions étendues

Présentation

When writing rules and headers, you can use Perl expressions that will be evaluated in a jail, to prevent bad code execution.

C'est disponible pour :

Dans cette cage, on peut accéder aux éléments suivants :

Pour en savoir plus sur la cage, consulter la documentation du module Safe.

Request informations

The following data about the current request are available through functions :

Extended Functions List

date

Returns the date, in format YYYYMMDDHHMMSS, local time by default, GMT by calling

date(1)

checkLogonHours

Cette fonction examine le jour et l'heure de la requête courante et la compare aux jours et heures autorisés. Elle retourne 1 si c'est bon, 0 sinon. All e By default, the allowed days and hours is an hexadecimal value, representing each hour of the week. Un jour a 24 heures et une semaine 7 jours, donc la valeur contient 168 bits, convertie en 42 caractères hexadécimaux. Dimanche est le premier jour.

Par exemple, pour un accès total excepté le week-end:

000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000

L'extension de schéma LDAP peut être utilisée pour stocker cette valeur. La valeur binaire de l'attribut logonHours d'Active Directory peut également être utilisée

Paramètres de la fonction :

Exemple d'usage simple :

checkLogonHours($ssoLogonHours)

Si une valeur binaire est utilisée (Active Directory) :

All e
checkLogonHours($ssoLogonHours, 'octetstring')

On peut aussi configurer jetlag (si tous les utilisateurs utilisent le même fuseau):

checkLogonHours($ssoLogonHours, '', '+2')

Si plusieurs fuseaux sont utilisés, le jetlag doit être introduit dans le compte dans la valeur ssoLogonHours, ou utiliser le paramètre $_timezone. Ce paramètre est géré par le portail et utilise javascript pour obtenir le fuseau de l'utilisateur connecté. Ça doit marcher avec tous les navigateurs :

checkLogonHours($ssoLogonHours, '', $_timezone)

Il est possible de modifier le comportement par défaut pour les utilisateurs ne disposant pas d'une valeur ssoLogonHours. Sinon, par défaut, les utilisateurs sans créneau horaire de connexion sont rejetés. On peut autoriser ces utilisateurs au lieu de les rejeter :

checkLogonHours($ssoLogonHours, '', '', '1')

checkDate

Cette fonction examine la date de la requête en cours et la compare avec une date de début et de fin. Elle retourne 1 si c'est bon, 0 sinon.

L'extension de schéma LDAP peut être utilisée pour stocker ces valeurs.

The date format is the LDAP date syntax, for example for the 1st March 2009:

20090301000000Z

Paramètres de la fonction :

Exemple d'usage simple :

checkDate($ssoStartDate, $ssoEndDate)

basic

Cette fonction n'est pas compatible avec la cage saine, il faut désactiver la mise en cage.

This function builds the Authorization HTTP header used in HTTP Basic authentication scheme. It will force conversion from UTF-8 to ISO-8859-1 of user and password data.

Paramètres de la fonction :

Exemple d'usage simple :

basic($uid,$_password)

unicode2iso

Cette fonction n'est pas compatible avec la cage saine, il faut désactiver la mise en cage.

This function convert a string from UTF-8 to ISO-8859-1.

Paramètres de la fonction :

Exemple d'usage simple :

unicode2iso($nom)

iso2unicode

Cette fonction n'est pas compatible avec la cage saine, il faut désactiver la mise en cage.

This function convert a string from ISO-8859-1 to UTF-8.

Paramètres de la fonction :

Exemple d'usage simple :

iso2unicode($name)

groupMatch

this function allows to parse the $hGroups variable to check if a value is present inside a group attribute.

Function parameter:

Exemple d'usage simple :

groupMatch($hGroups, 'description', 'Service 1')