Projet

Général

Profil

Development #25666

manager : paramétrage de la section "mot de passe" de la création d'un compte

Ajouté par Frédéric Péters il y a plus de 5 ans. Mis à jour il y a environ 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
13 août 2018
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Aujourd'hui le formulaire contient :

  • générer un mot de passe (pas coché)
  • mot de passe et confirmation
  • doit changer de mot de passe à la prochaine connexion (pas coché)
  • envoyer les informations à l'utilisateur (coché)
  • envoyer un courriel à l'utilisateur pour qu'il choisisse son mot de passe (pas coché)

Il me semble que létat de ces différentes cases à cocher devrait pouvoir être configuré au niveau du site.

(et ma préférence pour le paramétrage par défaut serait : générer un mot de passe, + envoyer un courriel à l'utilisateur pour qu'il choisisse son mot de passe après #25665)

Plus tard, idéalement, ça pourrait être verrouillé/caché, qu'une politique de site s'applique, sans possibilité pour l'agent d'y déroger.


Fichiers


Demandes liées

Lié à Publik - Development #19756: Personnalisation accrue du portail agent pour en faire aussi la page d'entrée des agents d'accueilFermé29 octobre 201730 juin 2018

Actions

Révisions associées

Révision 97c12bdb (diff)
Ajouté par Paul Marillonnet il y a environ 5 ans

manager: add settings for password section options on user add (#25666)

Historique

#1

Mis à jour par Mikaël Ates il y a plus de 5 ans

Pouvoir définir une politique pour un site et ne plus avoir ces options qui s'affichent serait bien.

Pour la configuration par défaut, pourquoi souhaiter générer un mot de passe par défaut ? Je serai plutôt pour par défaut lui envoyer un courriel pour qu'il choisisse son mot de passe.

C'est ce que l'on fait pour les agents sur GLC, pas d'affichage d'option et envoi d'un courriel à l'agent pour définir son mot de passe.

#2

Mis à jour par Frédéric Péters il y a plus de 5 ans

Je serai plutôt pour par défaut lui envoyer un courriel pour qu'il choisisse son mot de passe.

Oui tout à fait, c'était ma parenthèse "(+ envoyer un courriel à l'utilisateur pour qu'il choisisse son mot de passe)", je parlais de la génération plutôt pour rappeler "pas de saisie par l'agent".

#3

Mis à jour par Frédéric Péters il y a plus de 5 ans

  • Lié à Development #19756: Personnalisation accrue du portail agent pour en faire aussi la page d'entrée des agents d'accueil ajouté
#4

Mis à jour par Paul Marillonnet il y a plus de 5 ans

  • Assigné à mis à Paul Marillonnet
#5

Mis à jour par Paul Marillonnet il y a plus de 5 ans

Un premier WIP qui va chercher dans les app_settings, mais je comprends bien que ce n'est pas suffisant pour ce qu'on veut ici.
Je regarde demain comment gérer ça depuis la config du site.

#7

Mis à jour par Paul Marillonnet il y a environ 5 ans

Et si ce n'est pas caché/verrouillé pour l'instant, j'imagine qu'il faut laisser l'agent (ayant le rôle d'administration A2 adéquat) effectuer cette configuration.

Je verrais bien un lien en plus dans le /manage/, comme dans le png joint (l'intitulé est sans doute mal choisi, je n'ai pas trouvé mieux pour l'instant), qui mènerait à une simple page présentant les options actuellement présentes dans la page d'ajout d'un usager. Est-ce que je me plante ?

#8

Mis à jour par Paul Marillonnet il y a environ 5 ans

(Ça peut paraître prématuré de discuter de ça à ce moment là du ticket, avant même le dév en lui même, mais je crois, peut-être à tort, que l'emplacement de cette page dans le backoffice va conditionner assez complètement l'implémentation.)

#9

Mis à jour par Frédéric Péters il y a environ 5 ans

Aujourd'hui les paramétrages d'authentic se font via les settings (ou pour quelques-uns via des attributs portés par l'OU), je ne mêlerais pas à ce ticket la création d'une nouvelle interface de configuration.

#10

Mis à jour par Paul Marillonnet il y a environ 5 ans

Ok, pardon, mauvaise compréhension de la description du ticket de ma part (je croyais qu'il était question d'offrir une nouvelle interface à l'agent, et qu'un nouveau développement futur permettrait de cacher/verrouiller ou non, au choix).
Je reviens ici avec un patch.

#11

Mis à jour par Mikaël Ates il y a environ 5 ans

Peut-on envisager deux choses au travers ce ticket mais si nécessaire j'en créerai de nouveaux :

  • Avoir par défaut la case "Envoyer un courriel à l'utilisateur pour qu'il choisisse son mot de passe" cochée et les autres cases décochées par défaut.
  • Avoir un settings HIDE_PASSWORD_OPTIONS_AT_USER_CREATION (ou autre), qui cache toutes les options de mot de passe sur la fiche de création d'un utilisateur, pour tout le site, et qui suppose l'option "Envoyer un courriel à l'utilisateur pour qu'il choisisse son mot de passe".
#12

Mis à jour par Paul Marillonnet il y a environ 5 ans

Mikaël Ates a écrit :

Peut-on envisager deux choses au travers ce ticket mais si nécessaire j'en créerai de nouveaux :

  • Avoir par défaut la case "Envoyer un courriel à l'utilisateur pour qu'il choisisse son mot de passe" cochée et les autres cases décochées par défaut.

C'est juste sur les valeurs par défaut des settings qu'il faut se mettre d'accord (cf patch).

  • Avoir un settings HIDE_PASSWORD_OPTIONS_AT_USER_CREATION (ou autre), qui cache toutes les options de mot de passe sur la fiche de création d'un utilisateur, pour tout le site, et qui suppose l'option "Envoyer un courriel à l'utilisateur pour qu'il choisisse son mot de passe".

Je dirais un nouveau ticket, non ?

#13

Mis à jour par Mikaël Ates il y a environ 5 ans

Paul Marillonnet a écrit :

Mikaël Ates a écrit :

Peut-on envisager deux choses au travers ce ticket mais si nécessaire j'en créerai de nouveaux :

  • Avoir par défaut la case "Envoyer un courriel à l'utilisateur pour qu'il choisisse son mot de passe" cochée et les autres cases décochées par défaut.

C'est juste sur les valeurs par défaut des settings qu'il faut se mettre d'accord (cf patch).

Il me semble qu'on est d'accord sur A2_USER_ADD_GENERATE_PASSWORD par défaut à False et le reste comme tu l'as défini, cf #note-2

  • Avoir un settings HIDE_PASSWORD_OPTIONS_AT_USER_CREATION (ou autre), qui cache toutes les options de mot de passe sur la fiche de création d'un utilisateur, pour tout le site, et qui suppose l'option "Envoyer un courriel à l'utilisateur pour qu'il choisisse son mot de passe".

Je dirais un nouveau ticket, non ?

#30913

#15

Mis à jour par Benjamin Dauvergne il y a environ 5 ans

Il doit y avoir plusieurs tickets parce qu'il me semble que j'avais déjà exposé un plan :
  • ajouter des paramètres sur les OUs pour choisir parmi une liste de politique de mots de passe
  • mettre par défaut "mot de passe envoyé par courriel" pour toutes les OUs
#17

Mis à jour par Paul Marillonnet il y a environ 5 ans

Paul Marillonnet a écrit :

Et donc plutôt quelque chose comme ça ?

Ah non, pardon, je n'ai pas vu cette histoire de liste de politique de mots de passe.
Je vais revenir proposer autre chose ici.

#18

Mis à jour par Paul Marillonnet il y a environ 5 ans

  • Statut changé de Solution proposée à En cours
#19

Mis à jour par Benjamin Dauvergne il y a environ 5 ans

Paul Marillonnet a écrit :

Paul Marillonnet a écrit :

Et donc plutôt quelque chose comme ça ?

Ah non, pardon, je n'ai pas vu cette histoire de liste de politique de mots de passe.
Je vais revenir proposer autre chose ici.

Franchement ça peut commencer par une unique possibilité "envoyer un lien par mail" et attendre que quelqu'un se plaigne de la disparition des autres options.

#20

Mis à jour par Paul Marillonnet il y a environ 5 ans

Je crois que le ticket ici ne concerne que le préremplissage des cases à cocher dans la page d'ajout d'un usager. Pas de disparition donc, pour l'instant en tout cas.

#21

Mis à jour par Paul Marillonnet il y a environ 5 ans

Paul Marillonnet a écrit :

Ah non, pardon, je n'ai pas vu cette histoire de liste de politique de mots de passe.

Et donc, simplement, on peut faire un nouveau modèle de politique de mot de passe, gérant ces 4 paramètres à l'aide de champs booléens, et ajouter une relation plusieurs-à-un du modèle d'OU vers ce nouveau modèle. L'initialisation des champs de formulaire irait retrouver l'objet (en tapant directement dans 'UserAddView.ou.user_add_password_policy').
Les politiques proposées par défaut seraient présentes en dur dans le code et seraient créées à la réception du signal post_migrate. À voir ensuite si on offre la gestion des politiques dans /manage/, mais ça me paraît être du détail.
Est-ce qu'on part là-dessus ?

#22

Mis à jour par Benjamin Dauvergne il y a environ 5 ans

Paul Marillonnet a écrit :

Paul Marillonnet a écrit :

Ah non, pardon, je n'ai pas vu cette histoire de liste de politique de mots de passe.

Et donc, simplement, on peut faire un nouveau modèle de politique de mot de passe, gérant ces 4 paramètres à l'aide de champs booléens, et ajouter une relation plusieurs-à-un du modèle d'OU vers ce nouveau modèle. L'initialisation des champs de formulaire irait retrouver l'objet (en tapant directement dans 'UserAddView.ou.user_add_password_policy').
Les politiques proposées par défaut seraient présentes en dur dans le code et seraient créées à la réception du signal post_migrate. À voir ensuite si on offre la gestion des politiques dans /manage/, mais ça me paraît être du détail.
Est-ce qu'on part là-dessus ?

NONNNNNNNNNNN :) Juste une liste à choix sur OrganizationalUnit comme cela arrive pour l'expiration des comptes et viendra pour la complexité des mots de passe aussi, nommé user_add_password_policy

Si tu as envie tu peux directement gérer ces cas :
  • envoie d'un lien de reset
  • définition manuelle du mot de passe

On veut simplifier.

#24

Mis à jour par Benjamin Dauvergne il y a environ 5 ans

  • Plutôt que des tuples fais des dico {'x': True, 'y': False} etc.. tu peux faires des collections.NamedTuple si ça t'amuse, c'est typé et ça se convertit en dict via ._asdict()
  • pas besoin de caster tes chaînes en int, utilise un IntegerField plutôt qu'un CharField
  • nomme tes constantes magiques, et utilise un dico plutôt qu'une liste pour les valeurs correspondantes
    RESET_LINK_POLICY = 0
    MANUAL_PASSWORD_POLICY = 1
    
    POLICY_VALUES = {
       RESET_LINK_POLICY: PolicyValue(generate_password=False, ...),
    }
    
  • range tout ça dans la classe du modèle, ça fait plus propre je trouve (c'est purement personnel) et donne un accès direct via les instances
#26

Mis à jour par Benjamin Dauvergne il y a environ 5 ans

Ack quand les tests passeront.

#27

Mis à jour par Paul Marillonnet il y a environ 5 ans

Benjamin Dauvergne a écrit :

Ack quand les tests passeront.

Tiens, un drôle de bogue1 que je ne reproduis pas en local.
Je regarde l'affaire.

1 https://jenkins2.entrouvert.org/job/authentic-wip/job/wip%252F25666-user-add-policies/6/consoleText

#28

Mis à jour par Paul Marillonnet il y a environ 5 ans

Paul Marillonnet a écrit :

Tiens, un drôle de bogue1 que je ne reproduis pas en local.

Bein en fait si, ma faute. Nouveau patch donc.

#29

Mis à jour par Benjamin Dauvergne il y a environ 5 ans

La façon de récupérer le ou_id n'est vraiment pas propre, l'OU étant résolu par la vue par ailleurs il faut le récupérer depuis là où c'est fait la première fois (je pense que l'ou doit être passé au formulaire d'une manière ou d'une autre).

#30

Mis à jour par Paul Marillonnet il y a environ 5 ans

Benjamin Dauvergne a écrit :

La façon de récupérer le ou_id n'est vraiment pas propre, l'OU étant résolu par la vue par ailleurs il faut le récupérer depuis là où c'est fait la première fois (je pense que l'ou doit être passé au formulaire d'une manière ou d'une autre).

Ok, c'est vrai. Je vais trouver une façon plus propre de récupérer cet identifiant.

#31

Mis à jour par Paul Marillonnet il y a environ 5 ans

  • Statut changé de Solution proposée à En cours
#33

Mis à jour par Benjamin Dauvergne il y a environ 5 ans

  • Statut changé de Solution proposée à Solution validée

Ack.

#34

Mis à jour par Paul Marillonnet il y a environ 5 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 97c12bdbc926a2bd8427f01f0bc95f1aee4ebb09
Author: Paul Marillonnet <pmarillonnet@entrouvert.com>
Date:   Tue Feb 26 15:56:06 2019 +0100

    manager: add settings for password section options on user add (#25666)

#35

Mis à jour par Frédéric Péters il y a environ 5 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF