Forum CMS Made Simple FR
[RESOLU] BackEnd : gestion de contenu en fonction de l'utilisateur - Version imprimable

+- Forum CMS Made Simple FR (http://www.cmsmadesimple.fr/forum)
+-- Forum : Général (http://www.cmsmadesimple.fr/forum/forum-3.html)
+--- Forum : Modules, Tags (http://www.cmsmadesimple.fr/forum/forum-14.html)
+--- Sujet : [RESOLU] BackEnd : gestion de contenu en fonction de l'utilisateur (/thread-3966.html)



[RESOLU] BackEnd : gestion de contenu en fonction de l'utilisateur - nicks - 14/02/2017

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: ?
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~


Bonjour,

Je souhaiterai que du contenu ne soit consultable et éditable en backend que par l'utilisateur qui aurait créé ce contenu.

Je sais qu'il est possible de restreindre les accès pour un groupe d'utilisateur spécifique, mais pas pour un utilisateur (d'ailleurs même pour un groupe, il me semble qu'il ne sera pas possible de restreindre les accès pour des items. Exemple avec le module de news, tout le groupe pourra gérer l'ensemble des articles, mais le seul auteur d'un article ne pourra être le seul à gérer ses propres articles).

Du coup, je pense naturellement au module FEU, mais celui-ci gère plutôt des utilisateurs connectés. J'arrive à imaginer qu'il sera peut-être possible de modifier un item existant, mais créer du contenu supplémentaire depuis le front??

Bref, ma question est-donc de savoir si quelqu'un par ici a déjà été confronté à cette problématique et si oui, quelle a été la solution (s'il y en a une)?

Merci beaucoup!


[RESOLU] BackEnd : gestion de contenu en fonction de l'utilisateur - nicks - 15/02/2017

Donc je viens de trouver une solution incroyablement simple... Smile Ca a l'air de fonctionner avec le module LISE en tout cas (ce qui m'arrange puisque ce module permet de répondre à un nombre incalculable de problématiques...).

Prérequis : Installer LISE (Appelons l'instance Test, ce qui donne "lisetest")

Admettons que mon site ait 3 utilisateurs :
- Admin qui a tous les droits : il voit tous les "éléments" créés dans le module LISE, il peut en ajouter, tous les modifier et tous les supprimer.
- Paul qui doit pouvoir créer, modifier et supprimer des éléments, MAIS UNIQUEMENT ceux qu'il a créé lui-même avec son propre compte.
- Pierre, qui doit pouvoir faire la même chose que Paul (il ne peut gérer que les éléments dont il est à l'origine, ne voit pas ceux de Paul dans l'admin).

Comment faire :

01 . On se connecte au site en Admin, et on va créer deux nouveaux "Groupes Admin" et "Utilisateurs Admin".

- Nouveau Groupe Admin (1) :
Nom : Paul.
On valide.

- Nouveau Groupe Admin (2) :
Nom : Pierre.
On valide.

- Nouvel utilisateur Admin (Paul) :
On remplit les champs obligatoires de l'onglet Profil (Nom, mot de passe (x2) etc...).
Onglet "groupes Admin", on coche "Paul".

- Nouvel utilisateur Admin (Pierre) :
On remplit les champs obligatoires de l'onglet Profil (Nom, mot de passe (x2) etc...).
Onglet "groupes Admin", on coche "Pierre".

02. On modifie les Permissions des groupes Admins :
Il suffit de cocher pour nos deux nouveaux groupes :
- "lisetest: Approve items"
- "lisetest: Modify Items"
- "lisetest: Remove items"

(Remarque : ATTENTION à ne pas cocher "lisetest: Modify all items")

A partir de là, si on se connecte avec le profil Admin :
On peut gérer toute l'instance Test de LISE (on voit l'ensemble des éléments etc..)

Si on se connecte avec le profil PAUL :
On peut gérer tous les éléments créés par l'utilisateur PAUL du groupe admin PAUL.

Si on se connecte avec le profil PIERRE:
On peut gérer tous les éléments créés par l'utilisateur PIERRE du groupe admin PIERRE.

... Et c'est tout.
J'ai encore un peu de mal à y croire, mais ca a tout l'air d'être bien aussi simple que ca Smile


[RESOLU] BackEnd : gestion de contenu en fonction de l'utilisateur - airelibre - 16/02/2017

Bien vu, merci Wink


[RESOLU] BackEnd : gestion de contenu en fonction de l'utilisateur - airelibre - 16/02/2017

Précision complémentaire : pour les éléments / pages de contenus, on peut restreindre par groupe et/ou par utilisateur dans l'onglet "Permissions" (CMSMS 2+)

Enfin, si le module ne permet pas de gérer les utilisateurs, une alternative simple peut être la surcharge des gabarits de modules via le dossier module_custom et quelques petites astuces via Smarty et la session en cours (en savoir plus : https://docs.cmsmadesimple.org/customizing/customizing-admin-templates )


[RESOLU] BackEnd : gestion de contenu en fonction de l'utilisateur - nicks - 16/02/2017

Salut Mathieu et merci pour tes compléments. J'aurai sans doute l'occasion de mettre tout ca en pratique. Je ferai un retour ici si je suis confronté à d'autres "subtilités" Wink