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 2024-01-08 09:37:53

fredb13
Member
Registered: 2023-05-16
Posts: 6

Synchronisation champ email et authentification CAS

Bonjour,

notre instance GLPI est connecté à un serveur CAS pour l'authentification et également à un serveur LDAP pour la récupération d'attributs tel que le mail.

Lorsqu'un utilisateur se connecte pour la première fois en s'authentifiant par CAS, son compte est bien créé dans GLPI mais le champ is_dynamic dans la table glpi_useremails est postionné à 0.
Si l'on supprime cette entrée manuellement dans la base et que l'on synchronise le compte, l'entrée dans la table glpi_useremails est cette fois bien créée avec le champ is_dynamic positionné à 1.
De même, si l'utilisateur se connecte pour la première fois en s'authentifiant via LDAP (en ajoutant à l'URL de connexion noAUTO=1), le  champ is_dynamic est bien postionné à 1.

De plus, quelque soit la valeur de is_dynamic dans la table glpi_useremails, avec un compte non administrateur, les mails apparaissent toujours suivis de le mentinon (D) sur la fiche des utilisateurs. Avec un compte administrateur, les comptes où cette valeur est à 1, le mail est suivi de la mention (D) et ceux avec une valeur à 0 ne sont pas suivis de la mention (D) mais sont éditables.

Nous utilisons la version 10.0.10.

Merci.

Offline

#2 2024-01-09 11:16:47

fredb13
Member
Registered: 2023-05-16
Posts: 6

Re: Synchronisation champ email et authentification CAS

Bonjour,

en regardant dans les sources de GLPI, il apparaît  dans Auth.php que le champ mail est récupéré du CAS si celui est renseigné :

               // extract e-mail information
                if (phpCAS::hasAttribute("mail")) {
                      $this->user->fields['_useremails'] = [phpCAS::getAttribute("mail")];
                }

En commentant cette partie du code, on obtient une synchronisation du mail depuis le LDAP et un statut dynamique pour ce champ, à la première connexion de l'utilisateur à GLPI.
Cependant, en cas de modification du mail dans le LDAP, celui n'est pas mis à jour lorsque l'utilisateur se connecte à nouveau mais il se met bien à jour si l'on "force la synchronisation" par l'interface en tant qu'administrateur.

Offline

Board footer

Powered by FluxBB