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 | LDAP attribute |
---|---|
uid | uid |
numero | employeeNumber |
nom | sn |
You can define exported variables for each module in the module configuration itself. Variables defined in the main Exported variables
will be used for each backend. Variables defined in the exported variables node of the module will be used only for that module.
Exported variables
, this allows to populate user session with some environment values. Environment variables will not be queried in users database.
Les macros et les groupes sont calculées pendant le processus d'authentification par le portail :
$hGroups
which is a Hash Reference of this form:$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'}