Annonce

  •  » Plugins
  •  » [Résolu] [Entraide Plugin] Réinitialiser les mots de passe des utilisateurs

#1 2011-09-20 18:58:56

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

[Résolu] [Entraide Plugin] Réinitialiser les mots de passe des utilisateurs

Bonjour à tous / toutes.

Dans le cadre d'une évolution du plugin [extension by Eric] UserAdvManager, j'aimerai mettre en oeuvre un système pour forcer la réinitialisation du mot de passe de x utilisateurs au choix. Pour cela, j'entrevois le concept suivant :

- Je me base sur l'interface de gestion des utilisateurs actuelle de Piwigo (user_list.tpl). Cela évite de recréer un tableau listant les users - pourquoi réinventer la roue ? ^^
- Je pense ajouter une option de reset du mot de passe (dans le sens : Demander le changement du mot de passe) pour les utilisateurs qui seraient sélectionnés dans le tableau au même titre que l'option de suppression d'utilisateurs existante.
- Les utilisateurs dont j'aurais demandé la modification du mot de passe devront apparaitre distinctement des autres dans la liste des users.

Cette partie d'interfaçage pourrait me poser des soucis d'intégration graphique dans le template existant mais ce ne sera pas le plus compliqué. Maintenant, pour le code lui-même, je cherche un moyen pour qu'un utilisateur donné dont j'aurai réinitialisé le mot de passe soit obligé de le changer lors de sa prochaine connexion. Là je vois quelque chose comme ceci :

- Ajout d'une colonne supplémentaire dans la table #_users de piwigo avec les caractéristiques suivantes :
   * nom du champ : pwdreset
   * type du champ : boolean
- Lorsqu'un utilisateur doit changer son mot de passe, la valeur du champ pwdreset passe à 1 sinon, il est à zéro ou null.
- Lorsque l'utilisateur en question se connecte à la galerie, je peux faire en sorte qu'il soit automatiquement redirigé vers sa page de personnalisation.
- Lorsque l'utilisateur change de mot de passe, la valeur du champ pwdreset repasse à 0 et tout va bien.

Mais, et c'est là que çà se complique, je ne trouve pas de moyen pour le forcer à changer son mot de passe.

Solution 1 : Je peux ajouter un message d'incitation en bandeau de la page de personnalisation mais l'utilisateur peut ne pas en tenir compte. L'idéal serait de pouvoir invalider son mot de passe pour l'accès aux albums de la galerie sans pour autant l'empêcher de se connecter.

Solution 2 : En plus du message d'incitation, je peux me baser sur le système de confirmation d'inscription du plugin pour restreindre l'accès à une partie de la galerie tant que le mot de passe n'aura pas été changé. Mais cela obligerait le webmaster à mettre en oeuvre la validation des inscriptions uniquement pour avoir accès à cette fonction. Pas toujours adapté aux besoins de tout le monde.


Je cherche donc une vision technique par des yeux neufs sur le problème. Peut-être me suis-je un peu planté dans mon analyse ? Peut-être d'autres solutions plus simples seraient possible ?

Merci par avance pour vos retours :-)

Hors ligne

#2 2011-09-20 20:30:58

chrisaga
Former Piwigo Team
France (92)
2005-08-10
566

Re: [Résolu] [Entraide Plugin] Réinitialiser les mots de passe des utilisateurs

Pour l'instant, je ne vois qu'une solution "propre", c'est que tant que l'indicateur pwdreset est positionné,  toutes les url demandées renvoient vers une page de changement de mot de passe.
Ça peut être éventuellement la page profile, mais avec un message spécial qui fasse bien comprendre à l'utilisateur ce que l'on attend de lui.
Le plus simple est probablement d'avoir une page spécifique.

Techniquement, peut-être que le mécanisme mis en jeux lorsque l'on demande une url qui n'existe pas (cas d'une catégorie supprimée par exemple) peu t donné une indication de comment faire.
Je n'ai pas regardé.


Utilisateur depuis la version 1.3, Impliqué depuis la 1.4, Responsable du template des 1.5 et 1.6  ... et en (in)disponibilité sur la 1.7

Hors ligne

#3 2011-09-20 20:34:41

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16815

Re: [Résolu] [Entraide Plugin] Réinitialiser les mots de passe des utilisateurs

l'option me semble très intéressante pour un nouveau plugin


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#4 2011-09-22 18:44:44

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: [Résolu] [Entraide Plugin] Réinitialiser les mots de passe des utilisateurs

chrisaga a écrit:

Techniquement, peut-être que le mécanisme mis en jeux lorsque l'on demande une url qui n'existe pas (cas d'une catégorie supprimée par exemple) peu t donné une indication de comment faire.
Je n'ai pas regardé.

De mémoire, il s'agit d'une redirection vers l'accueil de la galerie. Je pourrais utiliser une redirection systématique vers la page de personnalisation et y ajouter un message spécifique. Je vais rechercher dans ce sens.

ddtddt a écrit:

l'option me semble très intéressante pour un nouveau plugin

Oui... A terme, pourquoi pas. Mais dans l'immédiat, UAM proposant déjà un système de "dévalorisation" des accès selon les critères de validation des inscriptions, je pensais d'abord m'appuyer dessus. Ensuite, si je parviens à inciter au changement de mot de passe sans ce système de "dévalorisation", j'en ferai certainement un plugin à part. Un jour... ;-)

Pour l'heure, je n'en suis qu'à l'étude de faisabilité "sur le papier". UAM étant devenu assez complexe, je me suis fait un organigramme fonctionnel. C'est plus facile pour insérer un module comme celui-ci.
Le plus dur étant de trouver le temps, comme d'hab ^^

Merci pour vos interventions à tous deux !

Hors ligne

#5 2011-09-22 19:52:47

chrisaga
Former Piwigo Team
France (92)
2005-08-10
566

Re: [Résolu] [Entraide Plugin] Réinitialiser les mots de passe des utilisateurs

Eric a écrit:

Merci pour vos interventions à tous deux !

La "valeur" de mon intervention tient surtout au fait que c'est la première depuis ...
...au moins tout ce temps.

   <:o))


Utilisateur depuis la version 1.3, Impliqué depuis la 1.4, Responsable du template des 1.5 et 1.6  ... et en (in)disponibilité sur la 1.7

Hors ligne

#6 2011-09-22 20:04:48

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16815

Re: [Résolu] [Entraide Plugin] Réinitialiser les mots de passe des utilisateurs

Eric a écrit:

. UAM étant devenu assez complexe

C'est bien pour cela que je milite pour plusieurs plugins ! qui chacun d'entre eux aurais sa fonction simple à utiliser et simple et plus rapide à maintenir


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#7 2011-09-23 17:26:24

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: [Résolu] [Entraide Plugin] Réinitialiser les mots de passe des utilisateurs

ddtddt a écrit:

Eric a écrit:

. UAM étant devenu assez complexe

C'est bien pour cela que je milite pour plusieurs plugins ! qui chacun d'entre eux aurais sa fonction simple à utiliser et simple et plus rapide à maintenir

Ta vision se défend même si je n'y adhère pas totalement. L'idéal serait de faire de la POO comme le fait Grum avec ses classes communes. Mais je ne suis pas assez calé pour cela...

Mais çà devient un peu HS, là. Gotcha va sévir ;-)

Hors ligne

#8 2011-09-24 13:10:09

Gotcha
Ex Equipe Piwigo
Pierrelatte (26)
2007-03-14
13331

Re: [Résolu] [Entraide Plugin] Réinitialiser les mots de passe des utilisateurs

Eric a écrit:

Mais çà devient un peu HS, là. Gotcha va sévir ;-)

Il y a "hors sujet" et "hors sujet" ;-)


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#9 2011-09-24 21:28:05

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: [Résolu] [Entraide Plugin] Réinitialiser les mots de passe des utilisateurs

J'ai pas mal avancé sur le sujet. Finalement, je vais faire au plus simple : Un utilisateur que l'admin aura marqué comme "mot de passe à changer" sera systématiquement redirigé vers sa page de personnalisation à chacun de ses connexions et un message explicite s'affichera pour l'inciter à faire ce qu'on attend de lui.

Cette partie est déjà codée et fonctionnelle ainsi que la gestion du changement du mot de passe (lorsque l'utilisateur en question a changé son mot de passe comme souhaité, il n'est plus redirigé et il n'a plus le message).

Maintenant, je bloque sur la partie admin de la fonction.
Comme je l'ai annoncé dans mon premier post, je ne souhaite pas générer à nouveau un tableau des utilisateurs d'une galerie pour permettre à l'admin de sélectionner ceux qui devront changer leur mot de passe. Autant utiliser celui qui existe déjà.

Dans user_list.php, il y a le trigger loc_visible_user_list qui permet d'ajouter des colonnes et des fonctions au tableau existant mais ne permet pas d'ajouter une action dans les sections en dessous du tableau. Idéalement, dans le user_list.tpl, il faudrait que je puisse avoir ceci (ligne 102):

Code:

{* delete the selected users ? *}
<fieldset>
  <legend>{'Deletions'|@translate}</legend>
  <label><input type="checkbox" name="confirm_deletion" value="1"> {'confirm'|@translate}</label>
  <input class="submit" type="submit" value="{'Delete selected users'|@translate}" name="delete">
</fieldset>
{* Reset password of the selected users ? *}
<fieldset>
  <legend>{'PasswordReset'|@translate}</legend>
  <label><input type="checkbox" name="confirm_pwdreset" value="1"> {'confirm'|@translate}</label>
  <input class="submit" type="submit" value="{'Reset Pwd selected users'|@translate}" name="PwdReset">
</fieldset>

Un template-extension saurait arriver à ce résultat, je pense. Mais est-il seulement possible d'arriver à cela via un plugin ?

Hors ligne

#10 2011-09-24 21:47:33

Gotcha
Ex Equipe Piwigo
Pierrelatte (26)
2007-03-14
13331

Re: [Résolu] [Entraide Plugin] Réinitialiser les mots de passe des utilisateurs

Eric a écrit:

Un template-extension saurait arriver à ce résultat, je pense. Mais est-il seulement possible d'arriver à cela via un plugin ?

Via un thème on peut le faire avec l'aide d'un pré filtre...


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#11 2011-09-24 22:04:16

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: [Résolu] [Entraide Plugin] Réinitialiser les mots de passe des utilisateurs

Oui, j'ai déjà eu à utiliser les pré filtres pour un autre de mes plugins mais cela n'impactait pas la partie admin de Piwigo. Je n'arrive pas à faire fonctionner un pré filtre sur user_list.

Faut que je creuse encore... J'ai l'impression de passer à côté de quelque chose.

Hors ligne

#12 2011-09-25 08:28:10

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16815

Re: [Résolu] [Entraide Plugin] Réinitialiser les mots de passe des utilisateurs

je n'ai pas regarder ce que tu as fait.

Les pré filtres sur l'admin sont possible, j'en ai sur plusieurs plugins (meta, andinffo, title, addinfouser ...)

--------------------
je vais peux être dire une bêtise mais si tu ajoutes ta colonne avec un bout de javascript qui agit directement dans ta table quand tu coches ou décoches les utilisateurs dont tu souhaites forcer à changer de mot de passe ?

cela ne résoudrait pas ton problème ?


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#13 2011-09-25 12:39:29

Eric
Former Piwigo Team
VALENCE (FR)
2005-03-25
4579

Re: [Résolu] [Entraide Plugin] Réinitialiser les mots de passe des utilisateurs

ddtddt a écrit:

je n'ai pas regarder ce que tu as fait.

Les pré filtres sur l'admin sont possible, j'en ai sur plusieurs plugins (meta, andinffo, title, addinfouser ...)

J'ai regardé comment fonctionnent tes plugins mais aucun d'eux n'interagit avec des pages de l'administration de Piwigo. addinfouser, par exemple, ajoute un fieldset et des champs dans profile.tpl côté utilisateur. C'est ce que je fais aussi avec mon autre plugin NBM Subscriber car les mécanismes de "pré filtrage" sont bien présents dans profile.php.

Mais il ne le sont pas dans user_list.php !

ddtddt a écrit:

je vais peux être dire une bêtise mais si tu ajoutes ta colonne avec un bout de javascript qui agit directement dans ta table quand tu coches ou décoches les utilisateurs dont tu souhaites forcer à changer de mot de passe ?

cela ne résoudrait pas ton problème ?

Ajouter une colonne où ? Dans le tableau des utilisateurs de user_list.tpl ? Cà, je sais faire mais je n'y connais pas grand chose en javascript. Ce n'est pas vraiment ma tasse de thé... ;-)
Mais si on fait comme tu le proposes, on ne pourra pas faire de traitements par lot.

Je pense à ajouter un bouton d'action dans la colonne "Actions" du tableau d'utilisateurs de user_list. En plus des boutons existants comme "profile" et "permissions". L'inconvénient c'est que, là aussi, on ne pourra pas faire de traitements par lot.

Hors ligne

#14 2011-09-25 17:19:19

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16815

Re: [Résolu] [Entraide Plugin] Réinitialiser les mots de passe des utilisateurs

Eric a écrit:

ddtddt a écrit:

je n'ai pas regarder ce que tu as fait.

Les pré filtres sur l'admin sont possible, j'en ai sur plusieurs plugins (meta, andinffo, title, addinfouser ...)

J'ai regardé comment fonctionnent tes plugins mais aucun d'eux n'interagit avec des pages de l'administration de Piwigo. addinfouser, par exemple, ajoute un fieldset et des champs dans profile.tpl côté utilisateur. C'est ce que je fais aussi avec mon autre plugin NBM Subscriber car les mécanismes de "pré filtrage" sont bien présents dans profile.php.

Mais il ne le sont pas dans user_list.php !

quand tu edit une photo avec meta / title ou addinfo tu as des éléments en plus sur la page d'édition provenant du plugin

La page profile de l'admin n'est pas la même que celle du publique et quand tu edite un profil user à partir de l'admin tu as bien les infos du plugin


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#15 2011-09-25 17:24:20

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16815

Re: [Résolu] [Entraide Plugin] Réinitialiser les mots de passe des utilisateurs

je ne veux pas insister mais si tu fait un préfiltre sur la page user_list.tpl quest ce qui t'empêche de gérer ton lot ?


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

  •  » Plugins
  •  » [Résolu] [Entraide Plugin] Réinitialiser les mots de passe des utilisateurs

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact