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-03-17 16:14:49

marcori
Member
From: LAVAL
Registered: 2007-06-21
Posts: 39
Website

Forcer le changement des mots de passe à l'ouverture de session

Bonjour,

Après avoir mené une réflexion sur la bonne convention a adopter pour les identifiants :
https://forum.glpi-project.org/viewtopic.php?id=289616

Je m'interroge maintenant sur la possibilité offerte par GLPI pour forcer le changement du mot de passe d'un utilisateur lors de l'ouverture de session GLPI par ce dernier.

Supposons que je créé les utilisateurs depuis l'importation d'un fichier CSV, je peux pré-définir un mot de passe généré pour chaque compte, mais j'aimerai que ce soit les utilisateurs qui définissent eux-même leur mot de passe.

J'ai remarqué dans les fichiers "src/Auth.php" et "src/User.php" le test du résultat de la méthode "mustChangePassword()" définie dans le fichier "src/Session.php". Cela m'incite à croire qu'il existe bien une technique permettant de forcer un utilisateur à changer son mot de passe à l'ouverture de session. Or, j'ai beau regarder la fiche utilisateur et je ne vois pas une telle case à cocher.
Il y a bien la possibilité de définir les champs "Valide depuis" et "Valide jusqu'à" depuis la fiche d'un compte utilisateur, mais est-ce qu'une date limite d'utilisation d'un compte équivaut à forcer le changement du mot de passe de ce dernier ?

@ vous lire,


Marc-Henri PAMISEUX - Maine Services Informatique
Intégrateur de solutions Libre - Être Libre, c'est choisir.

Offline

#2 2024-03-17 16:40:15

marcori
Member
From: LAVAL
Registered: 2007-06-21
Posts: 39
Website

Re: Forcer le changement des mots de passe à l'ouverture de session

Oh...
Je me réponds à moi même : Menu : Accueil -> Configuration -> Générale -> Sécurité.
Une belle piste pour définir un délai d'expiration des mots de passe :-)

Pour autant, cela concerne la configuration générale de tous les utilisateurs, et non pas une méthode pour forcer l'expiration du mot de passe pour un compte en particulier. Ceci étant, je suspecte le champ "Valide jusqu'à" de la fiche d'un utilisateur comme étant responsable du déclenchement de la demande de changement de mot de passe à l'ouverture de session.

Vous confirmez ?

@ vous lire,


Marc-Henri PAMISEUX - Maine Services Informatique
Intégrateur de solutions Libre - Être Libre, c'est choisir.

Offline

#3 2024-03-18 12:46:43

cconard96
Moderator
Registered: 2018-07-31
Posts: 2,418
Website

Re: Forcer le changement des mots de passe à l'ouverture de session

Bonjour,

Il y a deux fonctionnalités différentes ici.

Le premier est l’expiration du mot de passe. Lorsque le mot de passe d'un utilisateur est défini, il existe un champ dans la base de données qui stocke la date et l'heure auxquelles le mot de passe a été défini. Si l'expiration du mot de passe est activée et que l'utilisateur est local (les seuls comptes pouvant modifier son mot de passe via GLPI), la date à laquelle il a modifié son mot de passe pour la dernière fois est comparée à la configuration d'expiration du mot de passe. Si le mot de passe est expiré, l'utilisateur est invité à modifier son mot de passe.

L'autre fonctionnalité mentionnée concerne les champs « valable depuis » et « valable jusqu'à ». Ceux-ci peuvent être utilisés pour contrôler la validité globale du compte utilisateur jusqu’à une certaine plage de dates. Par exemple, si vous avez un stagiaire, un employé temporaire, etc., vous pouvez définir le champ « Actif » sur Oui immédiatement, puis planifier à l'avance le moment où le compte doit réellement devenir actif et le moment où il doit être désactivé. Lorsqu'un utilisateur se connecte (je ne pense pas que cela soit limité aux utilisateurs locaux) et que la date et l'heure actuelles se situent en dehors de la plage configurée, l'utilisateur reçoit un message d'erreur et ne peut plus se connecter.

Si les deux fonctionnalités sont configurées et que l'utilisateur accède d'une manière ou d'une autre à la page pour réinitialiser son mot de passe, le message d'erreur « Impossible de réinitialiser le mot de passe, veuillez contacter votre administrateur » lui sera présenté.


GLPI Collaborator and Plugin Developer.
My non-English comments are automated translations. Sorry for any confusion that causes.
Mes commentaires non anglais sont des traductions automatiques. Désolé pour toute confusion qui cause.
Mis comentarios que no están en inglés son traducciones automáticas. Perdón por cualquier confusión que cause.

Offline

#4 2024-03-18 22:32:37

marcori
Member
From: LAVAL
Registered: 2007-06-21
Posts: 39
Website

Re: Forcer le changement des mots de passe à l'ouverture de session

Merci Curtis pour cette réponse détaillée.
Dans la base de données, pour la table glpi_users, il existe bien une colonne nommée "password_last_update", tout comme il existe une colonne nommée "last_login".
Mais il n'existe pas une colonne de type "boolean" qui permettrait de forcer un changement.
Car pour autant, ma question reste de savoir "comment forcer un utilisateur à changer son mot de passe lors de l'ouverture de session" ?

Si je me réfère au processus d'installation et d'initialisation de GLPI, le premier compte administrateur est "glpi" avec la même valeur comme mot de passe.
Dans un tel cas, lors de l'ouverture de session, un bandeau préconise à l'utilisateur de changer les mots de passe des comptes génériques.
Dans cette idée, ce que j'aimerai, ce n'est pas une préconisation mais une obligation pour l'utilisateur de changer son mot de passe.
Cependant, mon contexte est un peu différent et ne s'applique pas nécessairement pour la toute première connexion de l'utilisateur glpi.

Mon contexte concerne des comptes utilisateurs qui auraient été générés dans un fichier tableur puis importés dans GLPI par le plugin DataInjection.
Chaque ligne de ce tableau représente un compte utilisateur.
Dans ce tableau, l'administrateur a défini pour chaque compte, un mot de passe qu'il communiquera à l'utilisateur concerné (peut-importe le vecteur utilisé pour communiquer ce sésame, ce n'est pas le sujet).
L'utilisateur connaissant l'URL, l'identifiant et le mot de passe associé peut alors ouvrir une session sur GLPI.
C'est à cet instant, lors de cette première connexion, que j'aimerai que GLPI demande à l'utilisateur de changer son mot de passe.

Une évolution possible de ce contexte serait lorsqu'il existe une suspicion de mot de passe dérobé.
Alors dans ce contexte, l'administrateur pourrait vouloir forcer l'utilisateur de changer son mot de passe après son ouverture de session.

Last edited by marcori (2024-03-18 22:38:18)


Marc-Henri PAMISEUX - Maine Services Informatique
Intégrateur de solutions Libre - Être Libre, c'est choisir.

Offline

#5 2024-03-19 01:04:42

cconard96
Moderator
Registered: 2018-07-31
Posts: 2,418
Website

Re: Forcer le changement des mots de passe à l'ouverture de session

Je ne pense pas qu'il existe un moyen de forcer la réinitialisation d'un mot de passe comme vous le souhaitez.

Lors de la création d'un nouvel utilisateur, vous pouvez
cochez la case pour envoyer un e-mail de notification à l'utilisateur afin qu'il définisse son mot de passe plutôt que de le définir vous-même.

Pour les utilisateurs existants, vous pouvez modifier leur mot de passe et leur demander de cliquer sur le lien Mot de passe oublié sur la page de connexion, mais ce n'est évidemment pas clair pour vos utilisateurs.

Une autre option consiste à remplacer le champ password_last_update directement par une date suffisamment lointaine dans le passé pour que le mot de passe soit considéré comme expiré. Cela devrait être fait directement dans la base de données ou via l'API (la méthode API peut fonctionner mais uniquement parce que GLPI ne bloque pas la mise à jour de ce champ). Il ne s'agit pas d'un champ qui peut être mis à jour via DataInjection car aucune option de recherche n'est associée au champ.


GLPI Collaborator and Plugin Developer.
My non-English comments are automated translations. Sorry for any confusion that causes.
Mes commentaires non anglais sont des traductions automatiques. Désolé pour toute confusion qui cause.
Mis comentarios que no están en inglés son traducciones automáticas. Perdón por cualquier confusión que cause.

Offline

Board footer

Powered by FluxBB