Rubrique précédente: Règles d'attribut d'utilisateur global explicitesRubrique suivante: Performances des rôles de provisionnement


Fonctions de règle intégrées

Vous pouvez utiliser les fonctions de règle intégrées dans vos expressions de règle pour effectuer diverses transformations sur les valeurs. La forme générale d'invocation d'une fonction de règle intégrée est

%[*]$$fonction(arg[,…])[:décalage,longueur]%

où l'astérisque signalant la prise en charge des valeurs multiples (*) et les spécifications des sous-chaînes de décalage et de longueur sont facultatifs.

Les fonctions intégrées reconnues sont les suivantes.

Fonction de règle intégrée

Description

ALLOF

Fusionne tous les paramètres en un attribut à plusieurs valeurs. L'ordre est conservé et les doublons sont supprimés. Par exemple, si les attributs d'utilisateur sont définis comme suit :

eTChamp_personnalisé_01: { A, B }
eTChamp_personnalisé_02: { A, C }

la règle :

%*ALLOF(%*UCU01%,%*UCU02%)%

donne les trois valeurs { A, B, C }.

DATE

Donne la valeur de la date actuelle au format jj/mm/aaaa. L'expression de règle %D% ressemble à ce qui suit.

%$$DATE()%
%$$DATE%

FIRSTOF

Renvoie la première valeur d'un paramètre quelconque. Cette fonction permet d'insérer une valeur par défaut dans le cas où un attribut n'est pas défini.

%$$FIRSTOF(%UCU01%,'inconnu')%
%$$FIRSTOF(%LN%,%UCU01%,%U%)%

Si aucune de ces valeurs n'est définie, aucune valeur n'est prise en compte. Pour entrer une chaîne constante dans un argument, insérez une apostrophe de part et d'autre.

INDEX

Renvoie une valeur d'un attribut à plusieurs valeurs. Index 1 est la première valeur. Si l'index est supérieur au nombre de valeurs, le résultat est la valeur (vide) non définie. Les règles ressemblent à ce qui suit.

%$$INDEX(%*UCU01%,1)%

%$$FIRSTOF(%*UCU01%)%

NOTEMPTY

Renvoie la valeur unique de son argument, mais signale un échec si la valeur d'attribut n'est pas définie.

Exemple 1 :

Faire échouer la création ou la mise à jour du compte si l'utilisateur n'a pas d'attribut UID affecté.

%$$NOTEMPTY(%UID%)%

Exemple 2 :

Utiliser le prénom. S'il n'est pas défini, utiliser le nom de famille. Si aucun des deux n'est défini, faire échouer la création ou la mise à jour du compte.

%$$NOTEMPTY(

%$$FIRSTOF(

%UF%,

%UL%

)%

)%

PRIMARYEMAIL

Renvoie l'adresse électronique principale extraite de plusieurs adresses électroniques. L'expression %UE% ressemble à ce qui suit.

%$$PRIMARYEMAIL(%UEP%)%

RDNVALUE

Traite la valeur d'attribut comme un nom unique LDAP et extrait le nom commun de l'objet à partir du nom unique.

%*$$RDNVALUE(%#eTRoleDN%)%

Renvoie les noms communs de tous les rôles de provisionnement affectés. Si l'utilisateur appartient à deux rôles de provisionnement avec le même nom commun, le nom de ce rôle est cité une fois.

TOLOWER

Convertit un texte en majuscules en texte en minuscules.

%$$TOLOWER(%AC%)%

TOUPPER

Convertit un texte en minuscules en texte en majuscules.

%$$TOUPPER(%U%)%

TRIM

Supprime les caractères vides à gauche et à droite d'une valeur d'attribut.

Par exemple, "%UF %UL%" crée généralement une valeur avec un prénom et un nom séparés par un caractère vide. Si l'utilisateur a un attribut de prénom vide, cette règle génère une valeur terminée par un caractère vide. L'utilisation de

"%$$TRIM(%UF% %UL%)%

garantit qu'aucun caractère vide n'apparaît à gauche ou à droite de la valeur d'attribut de compte, même si le prénom ou le nom de famille n'est pas défini.