Les variables exportées sont des variables disponibles pour écrire des règles d'accès et des en-têtes. Elles sont extraites de la base de données des utilisateurs par le module utilisateurs.
Pour créer une variable, il faut simplement associer des attributs utilisateurs dans LL::NG en utilisant Variables
» Variables exportées
. Pour chaque variable, le premier champ est le nom qui servira dans les règles, macros ou en-têtes et le second est le nom du champ dans la base de données utilisateurs.
Exemples pour LDAP :
Nom de Variable | Attribut LDAP |
---|---|
uid | uid |
numero | employeeNumber |
nom | sn |
On peut définir des variables exportées pour chaque module dans sa propre configuration. Les variables définies dans le Variables exportées
principal seront utilisées dans chaque backend. Celle définies dans le nœud « variables exportées » du module ne e seront que pour celui-ci.
Exported variables
, this allows one to populate user session with some environment values. Les variables d'environnement ne seront pas demandées à la base de données utilisateurs.
Les macros et les groupes sont calculées pendant le processus d'authentification par le portail :
$hGroups
qui est une référence à une table de hashage de la forme :$hGroups = { 'group3' => { 'description' => [ 'Service 3', 'Service 3 TEST' ], 'cn' => [ 'group3' ], 'name' => 'group3' }, 'admin' => { 'name' => 'admin' } }
Exemples de macros:
# macro booléenne isAdmin -> $uid eq 'foo' or $uid eq 'bar' # autre macro displayName -> $givenName." ".$surName # Utiliser une macro booléenne dans une règle ^/admin -> $isAdmin # Utiliser une macro chaîne dans un en-tête HTTP Display-Name -> $displayName
Exemples de groupes:
# group admin -> $uid eq 'foo' or $uid eq 'bar' # Use a group in a rule ^/admin -> $groups =~ /\badmin\b/ # Or with hGroups ^/admin -> defined $hGroups->{'admin'}