You are not logged in.
Bonjour
Je renvoie à ce sujet : http://www.glpi-project.org/forum/viewt … p?id=34814
Je pensais à un problème de configuration voire un bug de GLPI. Il s'avère que Generic Objects casse l'accès au formulaire des utilisateurs dans un de mes profils.
Il y a une paire clé/valeur dans la table glpiactiveprofile (située dans la session) qui me semble être la clé (si je puis dire) du problème.
Pour avancer, je précise que j'ai pu reproduire le bug dans mon environnement de test dont je parle dans l'autre topic.
J'ai testé les version 2.3.0 et 2.3.1 du plugin, sous GLPI 0.84.3
Last edited by dethegeek (2013-12-16 16:40:21)
Offline
Bonjour,
J'ai eu exactement le même problème.
Seul le Super-admin avait l'accès car il By-Pass les droits.
J'ai fait une modification sur mon environnement, je vais me tourner vers les développeur pour la faire valider.
Dans le fichier : "plugins/genericobject/inc/profile.class.php"
Aller à la fonction : "changeProfile"
A la ligne 271 pour moi,
Il y a la ligne suivante : "if ($key != 'id') {"
Je l'ai remplacé par : "if ($key != 'id' && $key != 'profiles_id') {"
Sur mon environnement cela semble fonctionner, et n'a pas d'impact sur le reste du fonctionnement.
Pour la bonne prise en compte de la modification, il faudra bien évidement se déconnecter et se reconnecter.
Le problème vient du fait qu'une variable de session est rempli par le plugin.
Lors d'un test de droit, GLPI génère une requête MySQL où il se sert de la clé "'profiles_id" sur la table "glpi_profiles", sauf que cette colonne n'existe pas.
Offline
Bonjour
Oui c'est bien ce que j'ai compris, et je n'ai pas trouvé où agir. Merci pour ce correctif, je pense qu'il devrait être effectivement intégré au plugin.
Offline
Bonjour,
Je fais une petite mise à jour.
Cette modification n'est valide que si nous n'avons aucun objet de créé, donc autant désactiver le plugin.
Je continue mes investigations tant que nous n'avons pas de réponse de la part des dev, car j'ai absolument besoin des mes objets!
J'ai pu appliquer un patch dans les sources du coeur de GLPI, je peux expliquer rapidement ce que j'ai fait si ça intéresse, ça n'est que du provisoire, car mon patch n'est pas très propre.
Last edited by dlepenven (2013-12-18 17:30:39)
Offline
J'ai une idée mais pas le temps de creuser dans l'immédiat (le plugin était envisagé mais ne me sert pas encore).
Le plugin utilise peut être la valeur profiles_id pour mémoriser le profil courant de l'utilsiateur. Je pense que le plugin devrait utiliser un autre moyen pour connaitre le profil courant.
Offline
En fait, le problème que j'ai eu n'est pas seulement la clé "profiles_id".
J'ai créé un objet "vehicule" avec le plugin, et deux clé ont été ajouté dans la variable de session:
-'PluginGenericobjectVehicule'
- 'PluginGenericobjectVehicule_open_ticket'
Donc je les ai exclues manuellement de la requête qui pose problème, mais ce n'est pas très satisfaisant.
On ne peut pas juste les retirer de la variable de session car sinon on ne peut plus lire les droits sur les objets...
Last edited by dlepenven (2013-12-19 12:24:07)
Offline