Aller au contenu
Support de Zwii et Yocto
JDLC

Modifier le groupe membres en un membre non modifiable

Messages recommandés

Bonjour,
Je souhaiterais modifier ZWII 8.2.5 afin de rendre le changement de l'id et du mot de passe impossibles (readonly ou hidden) afin de pouvoir, dans le cadre d'une utilisation pour une association, créer un seul utilisateur qui aurait accès au contenu "membre" mais qui serait donné à tous les membres. Mais que ce compte ne puisse pas être modifié par un quelconque utilisateur "membre" qui aurait la mauvaise idée de changer l'identifiant ou le mot de passe, bloquant ainsi toutes les autres personnes utilisant ce compte.
Autrement dit il faut que quelqu'un ce connectant avec la connexion "membre" ne puisse pas accéder à la modification de l'id ou le mot de passe.
Auriez-vous une idée où je peux modifier cela (probablement dans core.php ?)

D'avance merci

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité

@JDLC

 

Tu souhaiterais donc que ton site ait :

- Des pages visibles par n'importe qui

- Des pages visibles uniquement à des membres modérateurs/administrateurs inscrits qui eux auraient les droits dévolus à leur rang;

 

- Des page visibles à des " pseudos membres " qui auraient tous le même login et mot de passe et ne verraient pas les autres pages qui ne leur sont pas autorisées en lecture et le tout sans pouvoir changer de mot de passe ni adresse mail...

 

Quid alors du groupe membres ordinaire et la possibilité d'inscription pour eux dans le cadre d'une équipe avec visibilité de certaines pages et pas d'autre?

A moins que tu ne souhaites pas avoir des membres inscrits sur ton site d'association et juste transmettre aux personnes autorisées ( membres normals ) un accès unique avec un identifiant unique...

 

Suivant ta réponse à ceci il existe deux solutions effectivement pour mener à bien ton projet.

- la première est de créer un membre ordinaire, de l'inscrire ainsi dans la config du zwii et ensuite te rendre dans le dossier /core/module/user/....

et d'y enlever toutes référence à la récupération du mot de passe, barre d'accès au membre en haut du zwii une fois logué etc...

 

- |a seconde solution serait de créer un nouveau groupe de membres, de le nommer et de lui écrire toutes les autorisations voulue par toi.

Tu peux dans ce cas te baser sur le modèle " self::GROUP_MEMBER"  et en créer qui aurait pour nom par exemple " self::GROUP_INVITE", puis écrire totalement le reste dans les différents dossiers et fichiers du zwii qui gère les groupes de membres.

 

En attendant ta réponse ( si tu veux ou non conserver le groupe membres tel que ) et te dire alors où réellement modifier les fichiers en question;

Partager ce message


Lien à poster
Partager sur d’autres sites

@Roger nounours

 

Tout d'abord merci pour ta réaction rapide.

Effectivement l'objectif premier est de permettre à partir d'un compte unique d'accéder à certains pages non accessibles au groupe "GROUP_VISITOR", mais à tous les autres, mais comme ce serait un ID unique, il ne faut pas que l'un des utilisateurs de cet ID puisse modifier le MdP.
 

Tes 2 solutions conviennent. La 1ère serait probablement la plus facile à mettre en place et répondrait à mes attentes, mais la deuxième est plus alléchante et offre beaucoup plus de possibilités d'évolutions !


Donc si tu as du temps et l'envie, peut-être que les 2 solutions seraient intéressantes à avoir en disponibilité sur ce forum pour moi et aussi pour tout autre utilisateur de Zwii qui pourrait être concerné par cette problématique.

 

D'avance merci !

 

 ⚫⚫⚫            ⚫⚫⚫   —    !


John

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Il y a 3 heures, JDLC a dit :

La 1ère serait probablement la plus facile à mettre en place et répondrait à mes attentes,

 

Je vais donc parer au plus pressé, j'ai un peu de temps devant moi et vais donc chercher le code qui va bien avant de venir te le donner ici :D

 

Il y a 3 heures, JDLC a dit :

la deuxième est plus alléchante et offre beaucoup plus de possibilités d'évolutions !

 

Et dans un second temps, je vais tacher de donner aussi satisfaction en ce sens, mais pas avant d'en avoir fait les tests chez moi pour être certain que le drôle de bidule que je vais pondre soit 100% fonctionnel et sans aucuns bugs; Dans ce cas bien précis, s'armer d'un peu de patience ( ho pas beaucoup entre une journée et quinze ans suivant l'état de mes neurone ) pour que tu ais à disposition cette alléchante seconde proposition de ma part xD

Partager ce message


Lien à poster
Partager sur d’autres sites

Bon@jour @JDLC. Le mardi soir, je suis HS. Si ma proposition ne te va pas, sois indulgent. o.O

 

Si j'ai bien compris ce que tu désires, les admins configurent l'id et le mdp d'un unique compte "Membres" que ces derniers ne pourront pas éditer.

Dans ce cas, il me semble que le plus simple serait d'élever le rang d'accès à l'édition des profils à la ligne 20 de "core/module/user/user.php" :

		'edit' => self::GROUP_MEMBER,

devenant

		'edit' => self::GROUP_MODERATOR,

J'ai essayé : les membres n'ont accès qu'à la page cachée, sans aucune possibilité d'éditer leur profil, vu que le bouton dans la barre d'outils d'administration ne répond pas. Est-ce ce que tu souhaitais, ou bien ? 

 

acces_membre.jpg.4c26ad2478d86bcc6b8ae0f7e47918d2.jpg

 

 

Modifié par PeterRabbit

Partager ce message


Lien à poster
Partager sur d’autres sites

@JDLC Après, je dois pouvoir te proposer une solution plus subtile : les membres auraient accès à la page d'édition de leurs coordonnées, mais le volet "identifiant" et "mot de passe" n'apparaîtrait pas.

J'attends ta réponse.

Je pars du principe qu'il n'y aurait pas de "membres ordinaires" et de "membres spéciaux" comme @Roger nounours en envisageait la possibilité.

Je crois que j'y arriverais, mais je t'avoue que je préférerais que tu ne le souhaites pas. :/

 

PS : Comme le plugin d'auto-inscription que j'ai publié ne doit pas fonctionner sur la 8.25 — je croise les doigts —, il n'y aurait pas de risque de "piratage".

 

Modifié par PeterRabbit

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité

@JDLC

A deux doigts de te produire la première proposition, suis en train de faire les tests finaux

 

@PeterRabbit

Notre ami voudrait en fait avoir deux catégories de membres simples mais inscrits

-  une qui aurait leur propre login/mot de passe et la possibilité s'ils l'oublient de cliquer sur " J'ai oublié mon mot de passe " et ainsi le changer etc..

 

- l'autre catégorie elle n'aurait qu'un seul membre avec un login et mot de passe unique mais sans la possibilité de faire la demande depuis l'écran de connexion pour en changer mais aussi sans la possibilité une fois connecté d'avoir la barre des membres en hauts où tu as accés à ton compte et où tu peux changer ce que tu veux sur ce compte là

 

Ensuite, selon son humeur il donnera à qui il le désire login et mot de passe de ce compte bien spécial mais à autant de personnes qui en auront besoin

( un peu comme si tu voulais que je vois ce que tu vois en administrateur en me donnant ton login et mot de passe mais sans aucunes possibilité de modifier quoi que ce soit dans ton compte admin )

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
il y a 4 minutes, PeterRabbit a dit :

@Roger nounours C'est sûr, j'ai encore cru pouvoir prendre le train en marche. Je suis incorrigible. Je te laisse faire.

 

Non justement là tu peux drôlement nous aider car ce que demande notre ami n'est vraiment pas commun du tout et tu sais comme moi comment est écrit un zwii par Rémi, ce n'est pas de la tarte non plus ( sauf si dans ma première proposition on utilise notre méthode à l'ancienne " j'ai perdu ceci je contact l'admin par le formulaire... ;) ) la seconde est beaucoup plus coton car il faut créer un groupe spécial et là y'a un sacré taff.

Partager ce message


Lien à poster
Partager sur d’autres sites

@Roger nounours Il ne faudrait pas proposer des choses complexes... xD Franchement, je ne vois pas bien la raison d'une telle demande, ni d'ailleurs celle du groupe "Membre", mis à part l'accès à des pages spéciales.

J'ai quelques idées, mais je vais devoir cogiter hors-connexion : pas possible d'avoir internet et la lélé en même temps. :(

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité

@JDLC

 

1° nous allons imaginer dans un premier temps pour faire simple que tu crée un unique membre inscrit sur ton site et qui pourras voir seulement les pages autorisées au simples membres bien entendu ( donc son statut sera simple membre )

 

2° une fois connecté ce membre verra son nom en haut de la barre administrative, pourra cliquer dessus mais aura aussitôt une alerte lui stipulant qu'il ne peut pas accéder à la page car il n'y est pas autorisé !!!

 

procéder ainsi :

ouvrir dans le dossier  /core/module/user/user.php ( là où tu as mis ton site zwii )

 

Tout en haut, rechercher : 'edit' => self::GROUP_MEMBER,  pour lui mettre MODERATOR

class user extends common {

	public static $actions = [
		'add' => self::GROUP_ADMIN,
		'delete' => self::GROUP_ADMIN,
		'edit' => self::GROUP_MEMBER,
		'forgot' => self::GROUP_VISITOR,
		'index' => self::GROUP_ADMIN,
		'login' => self::GROUP_VISITOR,
		'logout' => self::GROUP_MEMBER,
		'reset' => self::GROUP_VISITOR
	];

Et remplacer par :

class user extends common {

	public static $actions = [
		'add' => self::GROUP_ADMIN,
		'delete' => self::GROUP_ADMIN,
		'edit' => self::GROUP_MODERATOR,
		'forgot' => self::GROUP_VISITOR,
		'index' => self::GROUP_ADMIN,
		'login' => self::GROUP_VISITOR,
		'logout' => self::GROUP_MEMBER,
		'reset' => self::GROUP_VISITOR
	];

Il reste encore à faire en sorte qu'il ne puisse avoir accès au renvoie de mot de passe depuis l'espace de connexion...pour que la solution minimum soit applicable...se sera pour demain car je ferme le pc

Partager ce message


Lien à poster
Partager sur d’autres sites

@Roger nounours Ce qui me rassure, c'est que même le mardi soir, je ne radote pas encore ! N'est-ce pas la solution que je proposais un peu plus haut, en attendant mieux ?

Ah là là ! xD

 

Modifié par PeterRabbit

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Il y a 3 heures, PeterRabbit a dit :

N'est-ce pas la solution que je proposais un peu plus haut, en attendant mieux ?

 

Non cela n'a aucun rapport avec les page visibles ou non par un membre comme expliqué plus haut :

 

Il s’agit d'empêcher un groupe bien précis d'accéder à la gestion de son compte pour en modifier quelque chose et de l’empêcher aussi d'avoir accès à la page de réinitialisation de son mot de passe.

 

dans un zwii, tout est géré justement avec les autorisations de groupe tout comme avec l'ID de l'user, c'est une fonction générique qui s'applique au moindre réglage qui nécessite des droits attribués dans le cms.

 

En l’occurrence il ne s'agit pas d'interdire la visibilité de page dans le site même mais l’accès aux données du membre en question par lui même;

Je l'ai pourtant bien expliqué au dessus par cette simple petite explication avec les mot en gras " mais sans la possibilité de... " et reprécisé aussi un peu plus loin dans cette me explication " sans la possibilité une fois connecté..."

 

Il y a 12 heures, Roger nounours a dit :

- l'autre catégorie elle n'aurait qu'un seul membre avec un login et mot de passe unique mais sans la possibilité de faire la demande depuis l'écran de connexion pour en changer mais aussi sans la possibilité une fois connecté d'avoir la barre des membres en hauts où tu as accés à ton compte et où tu peux changer ce que tu veux sur ce compte là

 

en gros voici ce qu'attend JDLC :

 

membre.png.2bbadabad7440e11f5653443b643329f.png

 

membre1.png.571d46614b2ae77fb6be48ba7ae95d30.png

 

membre2.png.5de45a0b97c7bdbf04028c2d53e95ba8.png

 

membre3.thumb.png.b0e98a1a3d00edf6975bb630d148889b.png

 

membre4.thumb.png.70030268f7cd5a3fba7c44ec0f60fdc9.png

 

 

Tu vois cela n'a rien à voir avec l'autorisation au niveau des pages du site même, c'est comme ci on te donnait un accès générique commun à tous géré par une autorisation spéciale pour voir quelque chose de privé mais que si tu perd cet accès générique tu n'ai aucunes possibilités de récupérer par toi même cet accès ou d'y changer ou voir quoi que ce soit.

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité

@JDLC  je dois m'absenter jusqu'en fin d’après midi, je terminerai donc le code pour la première proposition dont tu as une partie dévoilée au dessus.

Ce qui me pose problème c'est la partie qui renvoie le mail avec le lien si on clique dessus :

la solution possible dans ce cas est toute simple pour parer au plus pressé mais rendra aussi impossible la récupération de son compte à un modérateur ou un administrateur ==> ce serait de supprimer le l'écran de connexion " Mot de passe oublié "

 

Je ne le conseille pas du tout, je m'y recolle cet aprem à mon retour promis.

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 18 heures, Roger nounours a dit :

[...] la seconde est beaucoup plus coton car il faut créer un groupe spécial et là y'a un sacré taff.

 

Avec quelques modifications, le résultat est plutôt satisfaisant :

  • les "membres ordinaires" peuvent éditer leurs données ;
  • les "membres spéciaux" (appellation à modifier) ne le peuvent pas ;
  • les "membres spéciaux" sont rejetés lorsqu'ils demandent qu'on leur envoie leur mot de passe oublié.
  • les autres catégories de membres conservent leurs droits respectifs.

 

Il reste quelques détails à peaufiner, mais je pense que j'ai respecté le cahier des charges de @JDLC

 

NB : La méthode que j'ai adoptée suppose néanmoins de partir d'un "data.json" neuf ou corrigé pour reconstituer la hiérarchie des accès. Un script serait possible pour incrémenter l'accès des utilisateurs déjà enregistrés, mais bon... on peut aussi le faire à la main. o.O

Modifié par PeterRabbit
  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites

@Roger nounours Puisque personne n'y avait répondu, j'ai édité le post précédent au fur et à mesure que mes essais progressaient. Pour moi, ça marche. Si ça t'intéresse, je t'enverrai un lien en MP pour que tu fasses les tests de vérification.

En attendant, le boulot moins marrant m'appelle. o.O

Modifié par PeterRabbit

Partager ce message


Lien à poster
Partager sur d’autres sites

@Roger nounours
@PeterRabbit

 

Chers amis, merci encore une fois pour votre réactivité, vous m'impressionnez.

 

La solution de Peter Rabbit fonctionne bien et répond suffisamment à ce que je souhaitais en guise de réponse à la solution n°1 (hormis le fait du message un petit sauvage du 403, mais il suffira qu'on l'explique aux membres).

Notre ami Roger nounours est parti sur une solution certainement plus élaborée qui pourrait conduire sur la solution n°2 (la plus alléchante).

 

Pour répondre à PeterRabbit

Il y a 19 heures, PeterRabbit a dit :

Franchement, je ne vois pas bien la raison d'une telle demande, ni d'ailleurs celle du groupe "Membre", mis à part l'accès à des pages spéciales

Pour te répondre de l'intérêt, c'est assez simple à envisager.
Tu prends une association qui comprends plusieurs dizaines ou centaines de membres et tu veux leur mettre à disposition des comptes-rendus de réunion, des photos de sorties... et que tu ne veux pas que le visiteur (dont non membre) puisse y accéder et consulter ces comptes-rendus ou photos, en uitilisant la solution 1, tu crées le niveau "membre" et tu leur mets à dispo tous ces documents. Tu envoies par e-mail le même id et le même mot de passe à chaque adhérent. En début d'année tu changes juste le mot de passe pour que les anciens adhérents qui ont quittés ne viennent plus consulter ces docs et le tour est joué.
La seule contrainte était d'empêcher un des adhérents (il y en a toujours qui ont de telles idées...) de changer le mot de passe général, mettant ainsi tous les autres adhérents dans l'impossibilité de se connecter.
Ainsi cela fait un super petit site pour une association.
Bien sûr en faisant ainsi cela perturbe si on souhaite utiliser par exemple le module "blog" car tous les adhérents membres seront identifiés par le même pseudo, mais si on ce prévoit de blog, cela n'est pas gênant.
Comprends-tu mieux l'intérêt de cela ?

@ +

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
il y a 9 minutes, JDLC a dit :

La solution de Peter Rabbit fonctionne bien et répond suffisamment à ce que je souhaitais en guise de réponse à la solution n°1 (hormis le fait du message un petit sauvage du 403, mais il suffira qu'on l'explique aux membres).

 

Je te conseille d'utiliser la méthode aboutie de PeterRabbit car elle est exactement ce que je préparai pour toi pour la solution la plus simple ( n°1 et dont du as du voir les captures d'écran en fin de page précédente qui montraient clairement ce que tu souhaitais obtenir )

 

PeterRabbit ayant été plus rapide que moi a te proposer une première solution ( et je connais l'excellent qualité de son travail ) je vais donc cesser de chercher sur cette piste là.

 

@PeterRabbit  Voilà qui ferait un excellent " plugin " à ajouter dans les téléchargements du forum, en effet il est bien possible que d'autres aient besoin de ce genre de choses à mettre en œuvre  sur leur propre site.

 

Quand à la seconde solution, elle est bien plus complexe à mettre en œuvre car c'est le zwii qui a l'origine crée les groupes prédéfinis par avance dans le core.php, donc il faudrait pour cela que le développeur crée un groupe " Invité " qui aurait un rang spécial de membre mais sans la possibilité de...

Ensuite il fat toujours dans le zwii réécrire pour les pages et module une nouvelle class de membre " invité " et tout ce qui va bien avec... Afin que l'admin puisse dés l'installation d'un zwi tout neuf, créer ce fameux membre invité depuis l'interface d'administration.

C'est pas mal de travail et surtout pas mal d'endroits ensuite à modifier dans le cms.

 

Ce serait d'ailleurs à suggérer à Rémi pour les futures améliorations de zwii, ou me mieux, qu'il crée dans l'admin une page où ce serait possible de créer un groupe, le nommer et lui donner les autorisations multiples afférentes à chaque groupe.

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Il y a 2 heures, PeterRabbit a dit :

@Roger nounours Puisque personne n'y avait répondu, j'ai édité le post précédent au fur et à mesure que mes essais progressaient. Pour moi, ça marche. Si ça t'intéresse, je t'enverrai un lien en MP pour que tu fasses les tests de vérification.

En attendant, le boulot moins marrant m'appelle. o.O

 

Et tu as très bien fait d'éditer au fur et à mesure de l'avancement de tes travaux, mais encore mieux tu as réussi à produire le code qui ( vu le test que semble avoir effectué JDLC avec je pense ce que tu lui as transmis pour qu'il essaie ) convient parfaitement à l'option première la plus simple et rapide à mettre en œuvre :)

 

pas de soucis, je peux tester pour toi en " Live " il te suffit de m'envoyer par mp les bonnes infos et je te rendrai compte par le même canal des résultats ;)

 

En tout cas mille merci à toi d'avoir planché sur le sujet et grâce à ton temps passé sur la chose d'avoir pu ainsi répondre et tout aussi efficacement à la demande de notre ami JDLC :thumbsup:

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour ta réponse et tes gentillesses @JDLC ! :) Je n'avais pas imaginé — même si je le souhaitais — que Zwii pût rendre service à une association aussi importante. Mais je l'avais compris.

En revanche, tu ne m'expliques pas la nécessité ou l'intérêt de deux statuts de membres différents.

Mais peu importe, j'ai travaillé dans cette direction et je crois que je tiens la solution. A moins que @Roger nounours ne l'ait lui aussi — je sors de mon boulot ingrat et je vais lire ses derniers messages.

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 2 heures, Roger nounours a dit :

 

Et tu as très bien fait d'éditer au fur et à mesure de l'avancement de tes travaux, mais encore mieux tu as réussi à produire le code qui ( vu le test que semble avoir effectué JDLC avec je pense ce que tu lui as transmis pour qu'il essaie ) convient parfaitement à l'option première la plus simple et rapide à mettre en œuvre :)

 

pas de soucis, je peux tester pour toi en " Live " il te suffit de m'envoyer par mp les bonnes infos et je te rendrai compte par le même canal des résultats ;)

 

En tout cas mille merci à toi d'avoir planché sur le sujet et grâce à ton temps passé sur la chose d'avoir pu ainsi répondre et tout aussi efficacement à la demande de notre ami JDLC :thumbsup:

 

@Roger nounours Je n'ai rien envoyé à @JDLC : j'ai passé mon après-midi sur mes copies. Je n'ai donc pas avancé non plus sur le projet et je ne l'ai pas testé plus avant. Je t'envoie un lien avec les explications pour que tu vérifies son fonctionnement.

Mais c'est la deuxième solution !

Je pense que cela peut fournir la base à un travail plus abouti.

Modifié par PeterRabbit

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Il y a 2 heures, PeterRabbit a dit :

 

@Roger nounours Je n'ai rien envoyé à @JDLC : j'ai passé mon après-midi sur mes copies. Je n'ai donc pas avancé non plus sur le projet et je ne l'ai pas testé plus avant. Je t'envoie un lien avec les explications pour que tu vérifies son fonctionnement.

Mais c'est la deuxième solution !

Je pense que cela peut fournir la base à un travail plus abouti.

 

Bin alors là j'en tombe des nues!!!! comment il a fait JDLC sans avoir le code pour tester chez lui :S sauf si tu lui as donné le me lien qu'à moi pour qu'il confirme que ta solution 9_9

 

En tout cas je réétire le compliment que je t'ai fait, car à la vue ( coté admin chez toi ) CHAMPION TU ES CAR TU VIENT DE CRÉER LE FAMEUX PLUGIN tant attendu !!!!

 

Ton travail était plus abouti que le mien et tu as choisi la bonne voie de suite, pas de compromis provisoire comme moi mais une solution efficace à 10% immédiatement !!!!

 

@PeterRabbit  tu mérites mille fois nos remerciements je te l'assure.

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 7 minutes, Roger nounours a dit :

[...] mais une solution efficace à 10% immédiatement !!!!

 

Merci @Roger nounours ! Il me reste à trouver les 90% pour faire le bon compte...xD

Je viens de trouver 5% de plus, les pages cachées.

Modifié par PeterRabbit
  • Haha 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


×
×
  • Créer...