Rubrique précédente: Sous-chaînes de règleRubrique suivante: Règles d'attribut d'utilisateur global explicites


Expressions de règle à valeurs multiples

La plupart des expressions de règle comportent une seule valeur. Elles sont issues d'une valeur d'attribut d'utilisateur (éventuellement vide) et ont pour résultat une valeur d'attribut de compte (éventuellement vide également). Toutefois, il est possible de considérer un attribut d'utilisateur vide comme une valeur nulle. Il est également possible de générer plusieurs valeurs pour renseigner une valeur d'attribut de compte à valeurs multiples.

La syntaxe de règle suivante permet d'utiliser ou non les valeurs qu'un attribut d'utilisateur peut contenir.

%*var%

L'astérisque facultatif signalant la prise en charge des valeurs multiples (*), situé immédiatement après le premier signe % de l'expression de règle, indique que le résultat doit être 0, 1 ou plusieurs valeurs en fonction du nombre de valeurs que l'attribut d'utilisateur référencé contient.

La plupart des attributs d'utilisateur comportent une seule valeur. Ils peuvent soit contenir une seule valeur, soit n'en contenir aucune. Les attributs personnalisés (Champ_personnalisé_01 à Champ_personnalisé_99) comportent plusieurs valeurs. Une variable de règle qui fait référence à ces attributs peut soit contenir une ou plusieurs valeurs, soit n'en contenir aucune.

Si un attribut d'utilisateur comporte plusieurs valeurs mais que vous omettez l'astérisque (*) dans l'expression de règle, le résultat de l'évaluation des règles correspond à celui de la première valeur. Toutefois, dans la plupart des cas, les valeurs d'attribut sont officiellement non triées, de sorte que la première valeur considérée par CA Identity Manager peut être imprévisible.

Si un attribut d'utilisateur comporte plusieurs valeurs et que vous incluez l'astérisque dans l'expression de règle, plusieurs valeurs sont générées pour l'attribut de compte. Ne définissez pas une expression de règle à plusieurs valeurs dans un modèle de compte si l'attribut de compte défini à partir de l'attribut du modèle ne comporte pas lui-même plusieurs valeurs.

Vous pouvez définir un attribut de compte étendu dans le type de terminal ADS de sorte qu'il comporte plusieurs valeurs, puis utiliser cette syntaxe d'expression de règle à plusieurs valeurs pour définir cet attribut. Prenez l'exemple d'un environnement qui définit un attribut de compte ADS étendu nommé "brevets" et un troisième attribut d'utilisateur personnalisé également nommé "brevets".

Un modèle de compte ADS peut définir, pour l'attribut "brevets", la chaîne de règle %*UCU03%. Vous pouvez ensuite modifier l'attribut "brevets" d'un utilisateur en ajoutant une ou plusieurs valeurs. Lorsque vous appliquez les modifications à l'utilisateur, sélectionnez la mise à jour des comptes de l'utilisateur. Cette option consulte le modèle du compte, identifie la variable de règle %*UCU03%, et copie tous les brevets de l'utilisateur dans l'attribut "brevets" du compte.

De la même manière, les chaînes de règle sont évaluées lors de la création d'un compte. Par ailleurs, lors de la modification du modèle de compte, vous pouvez choisir de recalculer la règle pour tous les comptes associés au modèle de compte si la chaîne de règle est modifiée.

La syntaxe %*var% est également utile pour les variables var qui font référence aux attributs d'utilisateur comportant une seule valeur. Cela s'applique uniquement en cas de concaténation et si les attributs référencés ne sont pas définis pour les utilisateurs.

L'astérisque facultatif signalant la prise en charge des valeurs multiples (*) indique que la règle contenant une variable de règle %*var% ne donne aucune valeur si l'attribut d'utilisateur ne comporte aucune valeur. En revanche, l'expression de règle comportant une seule valeur %var% donne toujours une seule valeur, même s'il s'agit d'une chaîne vide.

Pour comprendre cette différence, considérez les chaînes de règle suivantes.

(310)%UP%
 (310)%*UP%

A priori, les deux chaînes de règle ajoutent l'indicatif 310 au numéro de téléphone. Elles sont pourtant différentes, car si les utilisateurs n'ont aucune valeur pour leur numéro de téléphone, la première règle donne la valeur de compte (310). La deuxième chaîne de règle ne génère aucune valeur et laisse l'attribut de compte indéfini.

A présent, considérez les chaînes de règle suivantes qui ajoutent le numéro de poste au numéro de téléphone :

%UP% %UPE%
%UP% %*UPE%

Si tous les utilisateurs ont un numéro de téléphone mais que certains d'entre eux n'ont pas de poste, la première règle de chaîne génère une valeur qui inclut le numéro de téléphone de chaque utilisateur, sans poste. La deuxième chaîne de règle ne génère aucune valeur. Dans ce cas, utilisez la première règle avec %UPE%.