Accès manager MODX pour les éditeur ou client
Créer un accès client au gestionnaire du site MODX
  • 23 septembre 2016
  • Steeve

Pour ce tutoriel vous n’avez pas besoin d’avoir de connaissance particulière.

Ce tutoriel est réalisé sur MODX Revolution 2.3.5-pl (traditional)

Quand on donne un accès client ou éditeur, on a souvent besoin de ne pas laisser l’accès complet car un utilisateur non averti pourrait faire des bêtises ou même détruire votre travail réalisé sur MODX. Il est donc bon de pouvoir gérer ce que l’utilisateur va pouvoir avoir accès. C’est le but de ce tutoriel. Vous apprendre à gérer un ou plusieurs accès différents selon les besoins de chaque intervenant.

1. Créer un nouvel utilisateur

Pour ce faire, dans le menu principal (top menu) cliquez sur « Administration » > « Utilisateurs ». La liste des utilisateurs apparaît à l’écran. Normalement a cette étape vous n’avez qu’un seul utilisateur, vous !

gestion des utilisateurs modx

Cliquez sur créer « nouvel utilisateur ». Dans la nouvelle fenêtre remplissez les champs :

  • Identifiant : client (pour mon exemple).
  • Adresse e-mail : l’email du client qu’il puisse retrouver son mot de passe en cas de perte. Dans mon exemple je donne un e-mail bidon, test@client.com.
  • Cochez la case « actif », pour activer l’utilisateur.

creer un nouvel utilisateur modx

Attention avant de cliquer sur « enregistrer », MODX va afficher dans une fenêtre pop-up le mot de passe de l’utilisateur. Vous pouvez décider de choisir le mot de passe par vous même et/ou de l’envoyer par mail au client directement. Attention le mail envoyé au client est en Anglais si vous ne l’avez pas modifié.

creer un nouvel utilisateur modx mot de passe

Cliquez à présent sur « enregistrer » ce qui aura pour effet d’afficher le mot de passe à l’écran dans une fenêtre pop-up comme l’image ci-dessous.

nouvel utilisateur affichage mot de passe

Une fois que vous avez noté le mot de passe cliquez sur « ok » pour fermer la fenêtre pop-up.

Retournez dans la gestion des utilisateurs en cliquant sur « Administration » > « Utilisateurs ». Vous devriez avoir votre nouvel utilisateur dans la liste des utilisateurs.

listes des utilisateurs modx

2. Créer une règle d’accès

Cliquez sur « Listes des contrôles d'accès » dans le « user menu » (en haut à droite dans l’interface de MODX).

listes des controles d'acces

Vous devriez voir une fenêtre comme sur l’image ci-dessous.

liste des controles d'acces

Cette partie ce compose de quatre onglets :

  • Groupes d’utilisateurs : Gérer les groupes et les rôles des utilisateurs.
  • Rôles : Un rôle est, par définition, une position ou un statut que quelqu'un détient dans une certaine situation.
  • Rôles d’accès : Les règles d'accès gèrent la façon dont MODX traite les autorisations pour des actions prévues.
  • Modèle de règles : Liste des modèles de règles, qui définissent les listes de permissions qui sont actives ou non dans les règles d'accès spécifiques.

Nous allons commencer par les règles d’accès. Allez donc dans cet onglet. Puis cliquez droit sur la règle « Administrator » et choisissez « dupliquer la règle ».

nouvelle règle d'acces

Vous devriez voir une nouvelle règle nommée « Copie de Administrator ». Je vous ai fait dupliquer cette règle car elle a tous les droits et j’ai choisi d’enlever des droits plutôt que de les rajouter mais on aurait très bien pu en créer une ou carrément importer une règle déjà paramétré.

copie règle administrator

Une fois cette règle dupliquée nous allons désormais la modifier. Pour ce faire cliquez droit sur la nouvelle règle d’accès « Copie de Administrator » et cliquez sur mettre à jour.

mise à jour de la regle d'acces

Une fois dans la page de modification de la règle vous pouvez modifier le nom de la dite règle ainsi que la description. Mais surtout ce qui nous intéresse les permissions elles mêmes.

modification de la règle d'acces

Dans mon exemple :

Nom : Accès client
Description : Règle des permissions pour les clients.
Lexique : Ne pas toucher, laisser (permissions).

Et maintenant les permissions : vous pouvez modifier les paramètres que je vous donne avec votre propre choix. Vous pourrez aussi les modifier à volonté donc pas de soucis en cas d’erreur.

Attention selon votre version de MODX il se peut qu’il y est des différences, avec plus ou moins de champ que dans mon exemple.

about : décoché
Voir la page "À Propos".

access_permissions : décoché
Pages et actions relatives aux permissions. 

actions : coché
Voir la page des actions et menus. 

change_password : coché
Les utilisateurs peuvent modifier leur mot de passe.

change_profile : coché
Les utilisateurs peuvent modifier leur profil. 

charsets : décoché
Voir la liste des jeux de caractères.

class_map : coché
Voir une liste de classes dans "le plan de classes"

components : décoché
Voir le menu " Extensions ". 

content_types : décoché
La page des types de contenu. 

countries : décoché
Voir la liste des pays. 

create : coché
Autorisations d'accès minimales en "Création" aux nouveaux objets. 

credits : décoché
Voir la page des crédits. 

customize_forms : décoché
Voir et gérer la page de personnalisation de formulaire. 

dashboards : décoché
Voir et gérer les tableaux de bord personnalisés. 

database : décoché
Voir la page des informations sur la base de données. 

database_truncate : décoché
La possibilité de tronquer des tables de la base de données. 

delete_category : décoché
Supprimer ou détruire des Catégories. 

delete_chunk : décoché
Supprimer ou détruire des Chunks. 

delete_context : décoché
Supprimer ou détruire des Contextes. 

delete_document : coché
Supprimer ou détruire des Ressources.

delete_eventlog : décoché
Vider le log d'évènements. 

delete_plugin : décoché
Supprimer ou détruire des Plugins. 

delete_propertyset : décoché
Supprimer ou détruire des jeux de propriétés. 

delete_role : décoché
Supprimer ou détruire des rôles. 

delete_snippet : décoché
Supprimer ou détruire des Snippets. 

delete_template : décoché
Supprimer ou détruire des modèles. 

delete_tv : décoché
Supprimer ou détruire des variables de modèles. 

delete_user : décoché
Supprimer ou détruire des utilisateurs. 

directory_chmod : décoché
Changer les permissions d'un répertoire. 

directory_create : coché
Créer un répertoire. 

directory_list : coché
Lister les sous-répertoires des dossiers physiques. 

directory_remove : coché
Supprimer un répertoire. 

directory_update : coché
Renommer un répertoire. 

edit_category : décoché
Éditer les Catégories. 

edit_chunk : décoché
Éditer les chunks. 

edit_context : décoché
Éditer les Contextes. 

edit_document : coché
Éditer les Ressources. 

edit_locked : décoché
Autorise un utilisateur à outrepasser un verrou et éditer une Ressource verrouillée. 

edit_plugin : décoché
Éditer les Plugins. 

edit_propertyset : décoché
Éditer les jeux de propriétés. 

edit_role : décoché
Éditer les rôles. 

edit_snippet : décoché
Éditer les Snippets. 

edit_template : décoché
Éditer les modèles. 

edit_tv : décoché
Éditer les variables de modèles.

edit_user : décoché
Éditer les utilisateurs. 

element_tree : décoché
La possibilité de voir l'arborescence des éléments dans le menu de gauche. 

empty_cache : coché
Vider le cache du site. 

error_log_erase : décoché
Effacer le journal d'erreurs. 

error_log_view : décoché
Voir le journal d'erreurs. 

events : décoché
Afficher tous les événements système. 

export_static : décoché
Exporter le site en HTML statique.

file_create : décoché
Créer un fichier. 

file_list : coché
Lister les fichiers dans un répertoire donné. 

file_manager : coché
Utiliser le gestionnaire de fichiers. 

file_remove : coché
Supprimer des fichiers physiques. 

file_tree : décoché
Voir l'arborescence des fichiers dans le menu de gauche. 

file_unpack : décoché
Extraire des archives zip. 

file_update : coché
Mettre à jour le contenu des fichiers physiques. 

file_upload : coché
Charger des fichiers dans les répertoires. 

file_view : coché
Voir le contenu de fichiers. 

flush_sessions : décoché
Vider les sessions du site. 

frames : coché
Utiliser l'interface du gestionnaire de MODX. 

help : décoché
Voir la page d'aide. 

home : coché
Voir la page d'accueil. 

import_static : décoché
Voir ou utiliser les pages d'Import. 

languages : décoché
Éditer ou voir les langues du Lexique. 

lexicons : décoché
Éditer ou voir le Lexique et l'Internationalisation. 

list : coché
Autorisations minimales pour "lister" les objets. Lister veut dire obtenir une collection d'objets. 

load : coché
Autorisations minimales pour "charger" des objets, ou pour les retourner comme une instance. 

logout : coché
Pour pouvoir se déconnecter en tant qu'utilisateur. 

logs : décoché
Voir les journaux, tels que les erreurs et les connexions au manager. 

menus : décoché
Éditer ou sauvegarder les éléments du menu. 

menu_reports : décoché
Afficher le menu "Rapports". 

menu_security : décoché
Afficher le menu "Sécurité". 

menu_site : décoché
Afficher le menu "Site". 

menu_support : décoché
Afficher le menu "Support". 

menu_system : décoché
Afficher le menu "Système". 

menu_tools : décoché
Afficher le menu "Outils". 

menu_user : coché
Afficher le menu "Utilisateur". 

messages : décoché
Envoyer ou voir des messages personnels. 

namespaces : décoché
Voir ou éditer les espaces de noms. 

new_category : décoché
Créer de nouvelles Catégories. 

new_chunk : décoché
Créer de nouveaux Chunks. 

new_context : décoché
Créer de nouveaux Contextes. 

new_document : coché
Créer de nouvelles Ressources. 

new_document_in_root : coché
Créer des ressources au niveau de la racine. 

new_plugin : décoché
Créer de nouveaux Plugins. 

new_propertyset : décoché
Créer de nouveaux jeux de propriétés. 

new_role : décoché
Créer de nouveaux rôles. 

new_snippet : décoché
Créer de nouveaux Snippets. 

new_static_resource : décoché
Créer de nouvelles Ressources statiques. 

new_symlink : coché
Créer de nouveaux Liens symboliques. 

new_template : décoché
Créer de nouveaux Modèles. 

new_tv : décoché
Créer de nouvelles Variables de Modèles. 

new_user : décoché
Créer de nouveaux utilisateurs. 

new_weblink : coché
Créer de nouveaux Liens. 

packages : décoché
Utiliser les packages de transport dans le gestionnaire d'Extensions. 

policy_delete : décoché
Supprimer des règles d'accès. 

policy_edit : décoché
Modifier des règles d'accès. 

policy_new : décoché
Créer des règles d'accès. 

policy_save : décoché
Sauvegarder des règles d'accès. 

policy_template_delete : décoché
Supprimer des modèles de règles d'accès. 

policy_template_edit : décoché
Modifier des modèles de règles d'accès. 

policy_template_new : décoché
Créer des modèles de règles d'accès. 

policy_template_save : décoché
Sauvegarder des modèles de règles d'accès. 

policy_template_view : décoché
Voir les modèles de règles d'accès.

policy_view : décoché
Voir les règles d'accès. 

property_sets : décoché
Voir et modifier les propriétés et les jeux de propriétés. 

providers : décoché
Voir et modifier les fournisseurs dans le site. 

publish_document : décoché
Publier ou dépublier les ressources. 

purge_deleted : décoché
Vider la corbeille. 

remove : coché
Autorisations minimales pour supprimer des objets. 

remove_locks : décoché
Supprimer tous les verrous existant dans le site. 

resourcegroup_delete : décoché
Supprimer des groupes de ressources. 

resourcegroup_edit : décoché
Modifier les groupes de ressources. 

resourcegroup_new : décoché
Créer de nouveaux groupes de ressources. 

resourcegroup_resource_edit : décoché
Modifier les ressources dans un groupe de ressources. 

resourcegroup_resource_list : décoché
Voir ou lister les ressources dans un groupe de ressources. 

resourcegroup_save : décoché
Sauvegarder des groupes de ressources. 

resourcegroup_view : décoché
Lister les groupes de ressources. 

resource_duplicate : coché
Dupliquer les ressources. 

resource_quick_create : coché
Pour utiliser la création rapide de ressource dans l'arborescence. 

resource_quick_update : coché
Pour utiliser la mise à jour rapide de ressource dans l'arborescence. 

resource_tree : coché
Voir l'arborescence dans le menu de gauche. 

save : coché
Autorisations minimales pour sauvegarder des objets. 

save_category : décoché
Sauvegarder des Catégories. 

save_chunk : décoché
Sauvegarder des Chunks. 

save_context : décoché
Sauvegarder des Contextes.

save_document : coché
Sauvegarder des Ressources. 

save_plugin : décoché
Sauvegarder des Plugins. 

save_propertyset : décoché
Sauvegarder des jeux de propriétés. 

save_role : décoché
Sauvegarder des rôles. 

save_snippet : décoché
Sauvegarder des Snippets. 

save_template : décoché
Sauvegarder des Modèles. 

save_tv : coché
Sauvegarder des Variables de Modèle. 

save_user : décoché
Sauvegarder des utilisateurs. 

search : décoché
Utiliser la page de recherche. 

settings : décoché
Voir et éditer les paramètres système. 

sources : décoché
Gérer les Media Sources et types de Media Source. 

source_delete : décoché
Supprimer un Media Source. 

source_edit : décoché
Modifier un Media Source. 

source_save : décoché
Créer ou sauvegarder un Media Source. 

Mise à jour du 30.09.2016
source_view : décoché coché
Voir et lister des Media Sources. 

steal_locks : décoché
"Forcer" les verrous, pour outrepasser les verrous d'une ressource. 

tree_show_element_ids : décoché
Afficher les IDs dans l'arborescence des éléments. 

tree_show_resource_ids : coché
Afficher les IDs dans l'arborescence de ressources. 

undelete_document : coché
Restaurer les ressources. 

unlock_element_properties : décoché
Éditer les valeurs par défaut des propriétés des éléments. 

unpublish_document : coché
Dépublier les ressources. 

usergroup_delete : décoché
Supprimer des groupes d'utilisateurs. 

usergroup_edit : décoché
Modifier les groupes d'utilisateurs. 

usergroup_new : décoché
Créer de nouveaux groupes d'utilisateurs. 

usergroup_save : décoché
Sauvegarder des groupes d'utilisateurs. 

usergroup_user_edit : décoché
Modifier les ressources d'un groupe d'utilisateurs. 

usergroup_user_list : décoché
Voir ou lister les utilisateurs d'un groupe d'utilisateurs. 

usergroup_view : décoché
Voir les groupes d'utilisateurs. 

view : coché
Autorisations minimales pour "voir" les objets. 

view_category : décoché
Voir les catégories. 

view_chunk : décoché
Voir les Chunks. 

view_context : coché
Voir les Contextes. 

view_document : coché
Voir les Ressources. 

view_element : coché
Obtenir la liste des éléments ou des classes des éléments. 

view_eventlog : décoché
Voir les évènements du journal. 

view_offline : coché
Voir le site quand il est en mode hors-ligne. 

view_plugin : décoché
Voir les Plugins. 

view_propertyset : décoché
Voir les jeux de propriétés. 

view_role : décoché
Voir les rôles.

view_snippet : décoché
Voir les Snippets. 

view_sysinfo : décoché
Voir la page des informations système. 

view_template : coché
Voir les Modèles.

view_tv : coché
Voir les Variables de Modèle. 

view_unpublished : coché
Voir les ressources non publiées. 

view_user : décoché
Voir les utilisateurs. 

workspaces : décoché
Utiliser le gestionnaire d'Extensions.

Attention n’oubliez pas d’enregistrer votre travail sinon vous allez tout perdre votre travail et donc devoir recommencer.

3. Créer le rôle pour l’accès client

Un rôle est, par définition, une position ou un statut que quelqu'un détient dans une certaine situation. Les rôles peuvent être utilisés pour rassembler des utilisateurs dans une position ou un statut parmi un groupe d'utilisateurs. Les rôles dans MODX ont également ce que l'on appelle une "Autorité". C'est une valeur qui peut être n'importe quel entier. Les niveaux d'autorité sont "héritables de haut en bas", c'est à dire qu'un rôle avec une autorité de valeur 1 héritera de toutes les règles assignées qui lui sont assignées, mais également de tous les rôles avec une autorité de valeur supérieure à 1.

Créez votre rôle pour l’accès client comme ci-dessous :

Nom : Accès client
Autorité : 999 (mais c’est à vous de voir selon vos besoins).
Description : Rôle pour l'accès au gestionnaire de site MODX pour les clients.

créer un rôle pour les clients

Une fois triée par autorité vous devriez voir ceci.

rôle ajouté trié par autorite

4. Créer le nouveau groupe utilisateur

Allez dans l’onglet « Groupes d’utilisateurs » toujours dans  « Listes des contrôles d'accès » du menu en haut à droite.

liste des groupes utilisateurs

Cliquez sur « Nouveau groupe d’utilisateurs » er remplissez les champs comme ci-dessous.

Nom : Accès client
Description : Groupe d'utilisateurs pour les clients.
Contextes : web,mgr (ajouter mgr pour le manager de MODX)
Règle du manager : sélectionnez votre règle récemment créé « Accès client »
Cochez la case : Créer un groupe de ressources « parallèle »
Créer un groupe de ressources parallèle vous permettra d’afficher ou cacher des ressources selon vos besoins.

créer un groupe d'utilisateurs

Une fois le nouveau groupe d’utilisateurs créé nous allons le modifier, faites un clique droit sur le groupe d’utilisateurs « Accès client » et cliquez sur « Mettre à jour le groupe d’utilisateurs ».

le nouveau groupe d'utilisateurs créé

Dans la nouvelle fenêtre de modification de groupe d’utilisateurs vous pouvez voir qu’il est composé de quatre onglets :

  • Informations générales
  • Utilisateurs
  • Configuration
  • Autorisations

Allez dans l’onglet « Utilisateurs » et ajoutez votre utilisateur « client » ayant pour rôle « Accès client ».

ajouter un utilisateur au nouveau groupe

utilisateur ajouter un utilisateur au nouveau groupe

Puis dans l’onglet « Permissions » où vous pourrez visualiser qu’il y a quatre ou cinq sous onglets à gauche selon votre version de MODX :

  • Accès au contexte
  • Accès de ce groupe d’utilisateurs
  • Accès aux éléments de catégories
  • Accès au Média source
  • Accès aux espaces de noms

Dans le sous onglet « Accès au contexte » modifié les deux contextes (web,mgr) pour qu’ils aient comme valeur de rôle minimal « Accès client – 999 » et valeur de règle d’accès « Accès client ».

modification des contextes du groupe d'utilisateurs

modification web des contextes du groupe d'utilisateurs

Vous devez avoir les configurations comme sur l’image ci-dessous :

resultat-des-modifications web des contextes du groupe d'utilisateurs

Puis dans le sous onglet « Accès de ce groupe d’utilisateurs » il faut faire quasi de même en modifiant les deux contexte (web,mgr) pour qu’ils aient comme valeur de rôle minimal « Accès client – 999 » et valeur de règle d’accès « Ressource».

mdification des accès de ce groupe d'utilisateurs

Après les modifications, voici le résultat :

accès de ce groupe d'utilisateurs modifie

Encore une fois n’oubliez pas d’enregistrer !

4. Tester votre accès client

Pour ma part je préfère utiliser un navigateur différent de celui qui me sert habituellement et qui m’a servi à créer mon accès client.

J’ouvre donc un nouveau navigateur, et j’accède au manager (exemple si vous n’avez pas changé le nom du dossier d’accès à l’interface administrateur http://monsite.fr/manager). Je me connecte avec mon utilisateur « client » et son mot de passe.

accès client au manager

Comme vous pouvez le constater il y a une grosse différence avec l’interface utilisateur classique, un grand nombre de choses ont disparu par magie.

accès client au manager vu de l'interface

Vous pouvez aller beaucoup plus loin en faisant la personnalisation de formulaire, la création d’un « média source » pour votre accès client qui permettra au client de ne voir que le dossier que vous lui attribuez. Et de ce fait l’empêchera de pourvoir modifier des fichiers important comme ceux ce trouvant à la racine de votre site Internet. Mais aussi la création d’un tableau de bord dédié pour votre client. On pourrait également personnaliser en changeant le nom du dossier du gestionnaire, du dossier du cœur de MODX, de sa clés de configuration ou encore le nom du dossier d’accès au manager afin de sécuriser encore plus l’accès.
Tous ces exemples feront l’objet d’autre tutoriels (si j’en ai la possibilité).

J’espère comme d’habitude que ce tutoriel vous aura aidé dans la compréhension de MODX. N’hésitez pas à partager ou commenter cet article ça me fera (très) plaisir !

Partagez cet article

A propos de l'auteur

Steeve

Passionné d’informatique, de Design, de développement d'application et du Web en général (participation au start-up weekend, hackathon, dev Var, formation Google...), j’ai créé ce site afin de partager mes connaissances sur mon système de gestion de contenu préféré MODX. En espérant participer au développement de la communauté.

Commentaires (0)





Tags autorisés : <b><i><br> Ajouter un nouveau commentaire :