You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2009-04-09 20:39:50

Logos
Member
Registered: 2007-03-01
Posts: 12

Gestion de mêmes groupes dans plusieurs entités

Bonjour,


Contexte
--------

Version GLPI utilisée : 0.71-5 (même comportement en 0.72 RC1)

Nous utilisons GLPI dans une configuration multi entités.
Chaque entité/site peut posséder plusieurs groupe utilisateurs. Dans certains cas, un même groupe peut être présent dans plusieurs entités.

Exemple d'organisation :
Site 1 -> Equipe A, Equipe B
Site 2 -> Equipe A, Equipe C
Site 3 -> Equipe D, Equipe B, Equipe E


Les utilisateurs sont rattachés automatiquement à leur entité par une règle via des champs LDAP.

Les groupes ont été créé manuellement dans chaque entité. Pour des groupes (ici équipes) devant être présentes dans deux entités, le groupe a été crée 2 fois (1 fois par entité)

Les groupes sont alimentés automatiquement en utilisateurs via la configuration des groupes (si user possède telle valeure dans tel champ LDAP => alors le user fait parti de tel groupe, etc)   



Bug (?) constaté
----------------

Un user est censé appartenir à l'équipe B .. qui est donc présente sur 2 sites.

La configuration de GLPI est faite pour autoriser cet utilisateur à être présents dans les 2 entités (les entités 1 et 3)
  -> l'association à l'entité 1 est gérée via une règle
  -> l'accès à la deuxième entité à été ajouté manuellement
  -> tout est ok

Pour les entités 1 et 3, le groupe "Equipe B" a été crée
  -> Le groupe est paramétré pour se compléter suivant un attribut LDAP     
  -> ok

L'utilisateur se logue :
  -> Il est bien associé au groupe "Equipe B" présent dans l'entité 1
  -> Il n'est pas associé au groupe "Equipe B" présent dans l'entité 3 ???


D'après les tables SQL, rien ne s'oppose à ce qu'un utilisateur soit dans plusieurs groupes, il n'y d'ailleurs aucune lien associant un groupe à une entité à ce niveau.

Du coup, on peut appréhender le fonctionnement en résumant par :
  -> les entités cloisonnent et les groupes décloisonnent


En conlusion
------------
D'après ce point de vue, il pourrait alors sembler logique qu'à partir du moment où :
- un user est autorisé dans 2 entités
- que ces 2 entités possèdent le même groupe
- alors le user doit être présent dans les 2 groupes => le code source gérant cet aspect doit donc en tenir compte.


Si ce comportement est bien interprété comme un bug par vos soins et non un comportement souhaité, vous pouvez alors corriger ce problème en modifiant le code source suivant :



Fichier inc/user.class.php lignes 579 et 580 :


Remplacer :
if ($group_found = array_search($val[$i], $groups[$key])) {
    $this->fields["_groups"][] = $group_found;

Par :
if ($group_found = array_keys($groups[$key],$val[$i])) {
    foreach ($group_found as $gpf)
        $this->fields["_groups"][] = $gpf;

Offline

#2 2009-04-09 20:43:48

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: Gestion de mêmes groupes dans plusieurs entités

Je pense que ce problème est très largement résolu par la création des groupes "récursifs" (utilisable dans un arbre d'entité).

Les groupes de même noms (qui sont des objets différents en 0.71) deviennent un groupe récursif en 0.72.

Donc il faut tester cette nouvelle version et voir si le comportement obtenu correspond aux attentes.


+


Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/

Offline

#3 2009-04-10 17:34:51

glpil123
Member
Registered: 2008-10-22
Posts: 7

Re: Gestion de mêmes groupes dans plusieurs entités

Bonjour,

Je travaille dans la même société que Logos et si le problème est effectivement résolu par la récursivité des groupes, le fonctionnement ne correspond pas pour autant à ce que nous attendons.

Je m'explique, nous avons un nombre plutôt important de groupe automatique (entre 150 et 200), et nous voudrions éviter que les utilisateurs de GLPI ai une liste de groupe trop importante lors de la saisie d'un ticket dans le helpdesk.
Nous ne voulons donc pas remonter les groupes au niveau de l'entité mère car ils apparaitraient dans ce cas pour toutes les entités filles.

La solution que nous avons retenu est donc la duplication des groupes pour que la répartition corresponde vraiment à notre structure.

J'espère avoir été claire dans mon explication et que cette correction/évolution pourras servir à d'autres.

Offline

Board footer

Powered by FluxBB