Argomento precedente: Regole esplicite dell'Attributo utente globaleArgomento successivo: Prestazioni dei ruoli di provisioning


Funzioni delle regole incorporate

Nelle espressioni delle regole è possibile utilizzare funzioni incorporate che consentono di eseguire determinate operazioni sui valori. Il formato generico della chiamata di funzione della regola incorporata è

%[*]$$funzione(arg[,…])[:offset,lunghezza]%

dove l'asterisco (*) indica più valori e offset e lunghezza sono, anche in questo caso, facoltativi.

Le funzioni incorporate riconosciute sono le seguenti:

Funzione delle regole incorporata

Descrizione

ALLOF

Unisce tutti i parametri in un attributo con più valori. L'ordine viene mantenuto e i duplicati vengono eliminati. Se ad esempio gli attributi utente sono impostati come segue:

eTCustomField01: { A, B }
eTCustomField02: { A, C }

Quindi, la regola

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

calcola tre valori { A, B, C }.

DATE

Calcola la data corrente in formato gg/mm/aaaa. L'espressione della regola %D% è equivalente a una delle seguenti:

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

FIRSTOF

Restituisce il primo valore di uno qualsiasi dei parametri. Utilizzata per inserire un valore predefinito se un attributo non è impostato:

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

Se nessuno dei valori è impostato, il risultato è nessun valore. Per immettere una stringa costante in un argomento, racchiuderla tra virgolette semplici.

INDEX

Restituisce un valore di un attributo con più valori. Indice 1 è il primo valore. Se l'indice supera il numero di valori, il risultato è il valore vuoto. Le seguenti regole equivalgono a quanto segue:

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

%$$FIRSTOF(%*UCU01%)%

NOTEMPTY

Restituisce il singolo valore del suo unico argomento, ma segnala un errore se questo valore di attributo non è impostato.

Esempio 1

La creazione o l'aggiornamento dell'account non vengono eseguiti se l'utente non ha un attributo UID assegnato:

%$$NOTEMPTY(%UID%)%

Esempio 2

Utilizza il nome, ma se questo non è impostato utilizza il cognome. Se nessuno dei due è impostato, la creazione o l'aggiornamento dell'account non vengono eseguiti.

%$$NOTEMPTY(

%$$FIRSTOF(

%UF%,

%UL%

)%

)%

PRIMARYEMAIL

Restituisce l'indirizzo di posta elettronica principale estratto da più indirizzi di posta elettronica. L'espressione %UE% è equivalente a quanto segue:

%$$PRIMARYEMAIL(%UEP%)%

RDNVALUE

Tratta il valore dell'attributo come nome LDAP distinto ed estrae il nome comune dell'oggetto dal DN in questione:

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

Vengono restituiti i nomi comuni di tutti i ruoli di fornitura assegnati. Se l'utente appartiene a due ruoli di fornitura aventi lo stesso nome comune, il nome del ruolo viene elencato una sola volta.

TOLOWER

Converte le maiuscole in minuscole:

%$$TOLOWER(%AC%)%

TOUPPER

Converte le minuscole in maiuscole:

%$$TOUPPER(%U%)%

TRIM

Rimuove i caratteri di spazio iniziali e finali dal valore di un attributo.

Ad esempio “%UF %UL%” genera un valore con un nome e un cognome separati da uno spazio. Se però l'utente non ha un attributo nome, questa regola genera un valore che termina con uno spazio. Tuttavia, utilizzando

“%$$TRIM(%UF% %UL%)%

nessuno spazio viene lasciato nel valore dell'attributo dell'account anche se uno Nome o Cognome non sono impostati.