Pendant plusieurs années, une des faiblesses principales du CMS Joomla!® a été la Gestion des Droits d'Accès (ACL en anglais). Ayant uniquement trois niveaux d'accès, non modifiables, elle était trop rudimentaire pour répondre aux besoins d'un site professionnel. Par conséquent, des extensions tierces étaient nécessaires.

Heureusement, depuis la version 1.6, un sytème ACL complet est inclus nativement dans Joomla!. Mais avec la puissance, est venue aussi la complexité. La configuration des droits d'accès n'est pas une opération à entreprendre à la légère; une solide réflexion sur l'organisation de la gestion du site et une bonne planification des tâches sont indispensables avant de démarrer.

Nous n'entrons pas ici dans tous les détails de la gestion des droits d'accès, mais nous présentons seulement un exemple concret que vous rencontrerez sans doute, si plusieurs personnes doivent intervenir dans la gestion du site.

Situation

Dans la partie "administration" du site (le "back-end"), vous voulez permettre à une personne d'utiliser un composant bien précis, sans qu'elle puisse faire autre chose, pour éviter les fausses manoeuvres ou accéder à certaines données.

Les niveaux d'accès par défaut au back-end de Joomla! (Gestionnaire, Administrateur et Super Utilisateur) - conservés par souci de rétro-compatibilité - ne conviennent pas dans ce cas-là.

Comment contrôler l'accès aux composants Joomla!

Supposons que vous souhaitiez donner uniquement l'accès au composant Fabrik à votre collaborateur Jean Dupont.

La première opération consiste à créer un nouveau groupe d'utilisateurs. Pour cela, connectez-vous à l'administration de Joomla! en tant que Super Utilisateur et allez dans Utilisateurs > Groupes > Ajouter un groupe. Donnez un nom explicite à votre nouveau groupe, Gestionnaire Fabrik, par exemple, laissez Groupe parent sur Public et sauvegardez.

Ce dernier point est très important car les droits d'accès des différents groupes sont organisés de manière hiérarchique : chaque groupe hérite les droits de son parent. Ceci fonctionne correctement pour les groupes habituels de Joomla!, mais rend la configuration plus compliquée pour les nouveaux groupes. Donc, le plus simple consiste à créer un groupe dont le parent est Public ; son seul droit étant de se connecter à la partie publique du site, il faudra ensuite lui accorder les droits supplémentaires nécessaires.

La structure des groupes d'utilisateurs se présente comme dans l'image ci-contre.

Maintenant, le groupe existant, vous devez lui associer un niveau d'accès.

Allez dans Utilisateurs > Niveaux d'accès > Ajouter un niveau d'accès. Donnez-lui un nom explicite : Niveau d'accès Fabrik.

Cochez ensuite les groupes qui correspondent à ce niveau : le groupe Gestionnaire Fabrik et le groupe Super Utilisateur. Nous verrons plus tard pourquoi il est important d'ajouter ce deuxième groupe.

Sauvegardez le nouveau niveau d'accès.

Remarquez au passage que plusieurs groupes peuvent partager un même niveau d'accès.

Il suffit maintenant d'assigner le collaborateur dans son groupe. Pour cela, cliquez sur son nom dans Utilisateurs > Gestion des utilisateurs et cochez la case en regard du groupe Gestionnaire Fabrik. Remarquez qu'un même utilisateur peut appartenir à plusieurs groupes. Par exemple, si le site comprend une section réservée aux utilisateurs enregistrés et vous souhaitez que Jean Dupont puisse se connecter comme ceux-ci, cochez également la case devant Enregistré.

Une fois ces réglages terminés, il est temps de passer aux choses sérieuses. D'abord, nous allons donner au groupe Gestionnaire Fabrik le droit de se connecter au back-end de Joomla!. Allez dans Site > Configuration, dans l'onglet Droits.

Pour le groupe Gestionnaire Fabrik, vous allez seulement régler Connexion à l'administration sur Autorisé. Cliquez ensuite sur Enregistrer pour que la modification soit prise en compte, ce qui sera confirmé dans la colonne Droits appliqués. Enregistrez et fermez cette fenêtre.

Avec cette modification, tous les utilisateurs appartenant au groupe Gestionnaire Fabrik pourront se connecter au back-end, mais ils ne pourront rien y faire. Il faut donc maintenant leur donner l'accès au composant Fabrik.

Pour cela, allez dans Composants > Fabrik, ensuite cliquez sur l'icône Paramètres (en haut à droite).

Dans l'onglet Droits, modifiez les droits pour le groupe Gestionnaire Fabrik en mettant toutes les actions sur Autorisé, sauf si vous voulez être plus restrictif (autoriser la création d'un nouvel élément mais non pas son effacement, par exemple). Enregistrez et fermez cette fenêtre.

Faites alors un essai de connexion : déconnectez-vous de votre session de Super Utilisateur et connectez-vous en tant que Jean Dupont.

Si tout s'est bien passé, une fenêtre qui ressemble à l'image ci-dessous s'affiche, ce qui est à la fois une bonne et une mauvaise nouvelle.

La bonne, c'est l'accès à l'administration, la mauvaise, c'est que la fenêtre est vide.

C'est ici que l'inclusion du groupe Super Utilisateur dans le Niveau d'accès Fabrik réalisée plus tôt est utile. En effet, chaque élément de Joomla! ne peut avoir qu'un seul niveau d'accès : les menus du back-end sont réglés pour le niveau d'accès spécial, c'est-à-dire tous les utilisateurs, sauf ceux des groupes Public et  Enregistré.

Pour que ces menus soient visibles à Jean Dupont, il faut que leur niveau d'accès soit réglé sur le Niveau d'accès Fabrik. Mais si ce niveau ne comprend pas aussi le groupe Super Utilisateur, ce dernier n'a plus accès aux menus, c'est pour cela qu'il faut l'inclure.

Remarquez que s'il y a d'autres utilisateurs appartenant à d'autres groupes ayant l'accès au back-end (Gestionnaire et Administrateur), vous devez également les inclure dans le Niveau d'accès Fabrik. Vous commencez à comprendre pourquoi une planification soigneuse des tâches est primordiale pour la configuration des droits d'accès ! Dans le cas d'un site complexe, ayant de nombreux collaborateurs avec des niveaux d'accès différents, cela devient rapidement très compliqué à mettre sur pied.

Pour notre exemple simple, il suffit de modifier l'accès à quelques modules.

Pour cela, reconnectez-vous en tant que Super Utilisateur et allez dans Extensions > Gestion des modules. Filtrez les modules pour n'afficher que les modules de l'administration.

Ensuite, réglez l'accès des modules suivants sur Niveau d'accès Fabrik :

  • Menu principal
  • Sous-menu
  • Titre
  • Barre d'outils

Vous devriez donc avoir vos modules réglés comme sur l'image ci-contre.

Vous pouvez alors vous déconnecter et vous re-connecter en tant que Jean Dupont. Cette fois-ci, vous verrez apparaître un menu qui donne accès uniquement au composant visé.

Mission accomplie !

Envie de réagir ?

Laissez-nous vos commentaires ou questions sur la Page Facebook de Better Web.

Pour recevoir automatiquement nos nouveaux articles, abonnez-vous à notre lettre d'information.

Par le

Nous diffusons des cookies sur ce site afin d'analyser le trafic, enregistrer vos préférences et optimiser votre navigation.