Exemple d’utilisation de la variable $USER

Droits ACL (permettant de filtrer les données "visibles" en fonction du poste de la personne : Commercial / Responsable)…

Organigramme :

Pour l’exemple :

- L’Equipe Commerciale 1 est composée 2 commerciaux (Commercial1 & Commercial2)

- L’Equipe Commerciale 2 est composée 3 commerciaux (Commercial3, Commercial4, Commercial5)

- L’Equipe Commerciale 3 est composée de 4 commerciaux (Commercial5, Commercial6, Commercial7 & Commercial8).

Règles de sécurité à appliquer:

- Le PDG voit toutes les données.

- Le Responsable Secteur voit toutes les données pour son secteur uniquement et les données de ses commerciaux.

- Les Commerciaux voient les données qui leurs sont propres uniquement.

Implémentation :

Nous utiliserons ici la variable $user, qui va être utilisée comme ‘ACL Entry Limit’.

Cet élément sera substitué par le nom d’utilisateur de la personne une fois connectée à DI-DiveLine via ProDiver / NetDiver / DivePort.

Ainsi, si on a dans le Modèle une Dimension ou un Champ Infos qui contient le nom d’utilisateur dans DI-DiveLine, nous pourrons utiliser $user pour filtrer la vue de chaque personne aux lignes du modèle qui contiennent leur nom d’utilisateur.

Dans notre cas, le modèle doit donc contenir 2 Dimensions supplémentaires pour chaque ligne de données : Secteur et Commercial,

où Secteur = Nom du Responsable dans DI-DiveLine (ici Secteur1, Secteur2 & Secteur3)

Commercial = Nom du Commercial dans DI-DiveLine (ici Commercial1, Commercial2, etc...)

Nous allons définir 3 groupes dans DI-DiveLine :

-         ‘PDG’ qui désigne le ou le(s) dirigeants du groupe.

-         ‘Responsable’ qui désigne les Responsables Secteurs.

-         ‘Commerciaux’ qui désigne les Commerciaux.

On applique ensuite la stratégie sur les Groupes, avec les ACL suivantes :

-         PDG : Aucune restriction.

-         Responsable : 1 Limite, Dimension Secteur = $user

-         Commerciaux : 1 Limite, Dimension Commercial = $user

Enfin, on ajoute les utilisateurs pour chaque groupe.
Attention, les valeurs de dimension dans les modèles doivent correspondre à l’identique aux noms des utilisateurs dans DiveLine - même la casse est importante.