Les ACL (Acces Contol List) sont le système de gestion des Droits et Accès de Joomla!. Avec la sortie de Joomla 2.5 (1.6, 1.7), ce système s’est grandement développé et offre désormais une gestion très souple de ces Droits et Accès.
Actions, Groupes et Héritage | Système ACLs de Joomla! L’autre aspect des ACL est l’octroi de droits aux utilisateurs d’effectuer des actions sur des objets. Ici encore, il y a un énorme changement entre les versions 1.5 et 3. Dans la version 1.5, les actions autorisées pour un groupe donné étaient fixes. Par exemple, un utilisateur appartenant au groupe auteur, pouvait simplement soumettre un article, alors qu’un autre utilisateur du groupe éditeur pouvait lui, soumettre un article, mais également l’éditer, le publier, et cela, avec tous les articles. Egalement, en version 1.5, les droits étaient “tout ou rien”. Un membre du groupe éditeur pouvait éditer tous les articles du site.
Le tableau suivant résume les changements entre les versions 1.5 et 2.5
Joomla 1.5
Joomla 3
Groupes & Actions
Les actions autorisées par différents Groupes sont fixes.
Les actions autorisées pour chaque Groupe sont définies dans l’administration du site.
Champ d’application des Droits
Totalité du site. Les Utilisateurs ont les mêmes Droits sur l’intégralité des objets du site.
Les Droits peuvent être réglés à de multiples niveaux dans la hiérarchie : Site, Composant, Catégorie, Objets.
Droits hérités
Non applicable.
Les Droits peuvent êtres hérités à partir des Groupes parents et des Catégories parentes.
Comment Fonctionnent les Droits
Il y a quatre possibilités de Droits pour les actions :
Non défini : Par défaut “Refusé ” mais, contrairement à l’autorisation “Refusé ”, ce droit peut être surchargé en réglant un groupe enfant ou en réglant un droit situé à un niveau plus bas de la hiérarchie sur “Autorisé ”. Ce droit ne s’applique que dans les Configurations Générales Site > Configuration > Droits.
Hérité : Hériter la valeur venant d’un groupe parent ou d’un niveau plus haut dans la hiérarchie des droits.
Refusé : Refuser cette action pour ce niveau et ce groupe. IMPORTANT : Cela refuse également cette action pour tous les groupes enfants et niveaux inférieurs dans la hiérarchie des droits. Régler “Autorisé ” pour un groupe enfant d’un groupe parent réglé sur “Refusé ” n’a aucun effet. Cette action va toujours se reporter sur tous les groupes enfants ainsi que sur tous les niveaux inférieurs de la hiérarchie des droits de votre site.
Autorisé : Autoriser cette action pour ce niveau, groupe, niveaux inférieurs et groupes enfants. Cela n’a aucun effet si un groupe parent ou un niveau supérieur est réglé sur refuser ou sur autoriser. Si un groupe ou niveau supérieur est réglé sur “Refusé ”, alors ce droit sera toujours “Refusé ”. Si un groupe ou niveau supérieur est réglé sur “Autorisé ”, alors ce droit sera déjà autorisé. Hiérarchie des Niveaux de Droits
Avec la version 2.5 de Joomla!, les droits peuvent être définis à 4 niveaux :
1. Configuration : détermine les droits par défaut pour chaque action et chaque groupe.
2. Paramètres d’un composant > Droits : peut surcharger les droits par défaut pour ce composant (p. ex : Articles, Menus, Utilisateurs, Bannières, …)
3. Catégorie : peut surcharger les droits par défaut pour les objets dans une ou plusieurs catégories. Cela s’applique à tous les composants comportant des catégories (p.ex. :Articles, Bannières, Contacts, Fil d’actualité, et Liens Web.
4. Articles : peut surcharger les droits pour un article spécifique. Ce niveau s’applique seulement aux articles. Les autres composants ne permettent que les 3 premiers niveaux.
Configuration
Vous pouvez y accéder par Site > Configuration > Droit . Cet écran vous permet de régler le plus haut niveau de droits pour chaque groupe et pour chaque action, comme cela est expliqué dans l’écran ci-dessous :
Pour chaque valeur, les possibilités sont : Hérité, Autorisé, Refusé. La colonne “Droits appliqués ” affiche l’état actuel des réglages. C’est soit Non défini (par défaut), Autorisé, ou Non autorisé. Vous ne pouvez travailler que sur un seul groupe à la fois, en ouvrant l’onglet de ce groupe. Vous changez les droits en sélectionnant le nouveau réglage dans les listes déroulantes de la colonne Modifier un droit.Notez que la colonne Droits appliqués ne s’actualise que lorsque vous cliquez sur le bouton enregistrer. Pour vérifier que les réglages sont bien ceux que vous souhaitez, cliquez sur le bouton enregistrer puis ré-ouvrez les onglets souhaités.
Paramètres d’un Composant > Droits
Les droits de chaque composant sont accessibles, pour chacun d’entre eux, dans Composant > Paramètres (dans la barre des outils) > Onglet Droits . L’écran qui s’affiche est similaire à celui présent dans configuration. Par exemple, en cliquant sur l’icône paramètres de la barre d’outils du gestionnaire de menu Menu > Gestion des menus vous obtenez l’écran suivant.
L’accès à ces Paramètres est seulement autorisé aux membres des groupes dotés des droits pour configurer les actions, et cela pour chaque composant. Dans cet exemple, le groupe administrateur possède l’autorisation pour le paramètre configurer, les membres de ce groupe peuvent donc accéder à cet écran.
Note : Tous les composants natifs de Joomla ! intègrent la gestion d’ACL. Certaines extensions tiers n’intègrent pas (encore?) cette gestion.
Catégorie
Les droits de catégorie sont accessibles dans le gestionnaire de catégories : Editez la catégorie souhaitée, puis rendez-vous dans le bas de page du formulaire d’édition “Droits de la catégorie”. Cet écran possède 5 Droits.
Sur ces écrans, vous travaillez sur les droits d’un seul groupe d’utilisateur à la fois. Dans l’exemple ci-dessus, nous éditons les droits du groupe Administrateur.
Notez que les droits Configurer et Accéder à l’administration ne s’appliquent pas au niveau de la catégorie, ces actions ne sont donc pas incluses.
Notez également que les Catégories peuvent êtres classées en hiérarchie. Si c’est le cas, les droits d’action d’une catégorie parent sont automatiquement hérités par une catégorie enfant. Par exemple, si vous avez une hiérarchie de catégorie : animaux > animaux de compagnie > chiens, alors la hiérarchie complète des droits pour un article placé dans la catégorie Chien sera celle-ci : Configuration
Gestionnaire d’articles > Paramètres > Droits
Catégorie AnimauxCatégorie Animaux de compagnieCatégorie ChiensArticle spécifique Article
Les droits pour un article spécifique sont accessibles dans le gestionnaire d’articles : Editez l’article souhaité, puis rendez-vous dans le bas de page du formulaire d’édition “Droits sur les articles”. Cet écran possède 3 Droits.
De nouveau, vous éditez chaque groupe en cliquant puis en ouvrant l’onglet de celui que vous souhaitez. Vous pouvez alors changer les droits sous la colonne « Modifier un droit « . Pour voir l’effet d’un changement, cliquez sur le bouton enregistrer (dans la barre d’outils), puis vérifiez votre changement dans la colonne Droits appliqués.
Notez que les actions Configurer, Accès à l’administration, et Créer ne s’appliquent pas au niveau de l’article, elles ne sont donc pas incluses. Le droit pour créer un article est réglé dans un des plus hauts niveaux de la hiérarchie.
Niveau d’accès
Les niveaux d’accès de la version 2.5 de Joomla! Utilisateurs > Niveaux d’accès sont simples et flexibles. L’écran suivant affiche le Niveau d’Accès Spécial.
Il suffit de cocher la case pour chaque groupe que vous souhaitez inclure dans ce niveau. L’accès spécial inclut les groupes Gestionnaire, Auteur et Super Utilisateur. Il inclut également les groupes enfants de ces groupes. Donc le groupe Administrateur est inclus car c’est un enfant du groupe Gestionnaire. Les groupes Auteur, Rédacteur, et Fournisseur sont également inclus car ils sont des enfants du groupe Auteur. (Notez que si nous le souhaitons, nous pouvons cocher tous ces groupes sans que cela ne pose de problème).
Une fois que les niveaux d’accès sont créés, ils sont utilisés de la même manière que sous Joomla 1.5. Chaque objet du front-end est assigné à un Niveau d’Accès. Si un objet porte le niveau d’accès Public, alors tout le monde peut avoir accès à cet objet. Les niveaux d’accès sont assignés aux éléments de menu ainsi qu’aux modules. Chacun ne peut être assigné qu’à un seul niveau d’accès.
Par exemple, l’écran suivant montre le formulaire d’édition d’un élément de menu avec la liste de niveaux d’accès disponibles.