En tant qu'administrateur de n'importe quel système, vous souhaiterez toujours une fonctionnalité vous permettant de déléguer certaines responsabilités à un groupe d'utilisateurs de confiance. Il vous permet également de configurer les flux de travail qui vous aident à maintenir un site en douceur et à éviter tout stress inutile..
Aujourd'hui, nous verrons quelles ressources sont disponibles dans OpenCart et comment vous pouvez accorder certains types d'autorisations sur ces ressources à un groupe d'utilisateurs. Nous allons parcourir le back-end pour explorer lesdites fonctionnalités, et les groupes d'utilisateurs seront le sujet de notre discussion dans la dernière partie de cet article..
Je suppose que vous utilisez la dernière version d'OpenCart. Commençons par une introduction aux ressources et aux autorisations..
Dans tout système de liste de contrôle d'accès (ACL), il existe deux entités importantes: les autorisations et les ressources. Les ressources sont exposées avec certaines autorisations au groupe d'utilisateurs, afin qu'ils puissent effectuer différentes actions sur les ressources. Bien sûr, chaque système a sa propre manière d’organiser les ressources et les autorisations..
Dans cette section, nous examinerons cela dans le contexte d'OpenCart..
Vous serez surpris de savoir que tous les fichiers de contrôleur du côté administrateur sont traités comme des ressources. Ainsi, la ressource «catalogue / attribut» est mappée sur le fichier situé à admin / controller / catalog / attribute.php
. Par conséquent, chaque fois que vous affectez cette ressource particulière à un groupe d'utilisateurs, ils pourront exécuter toutes les actions définies dans le fichier de contrôleur correspondant..
Dirigez-vous vers le back-end et accédez à Système> Utilisateurs> Groupes d'utilisateurs. Éditer un des groupes d'utilisateurs-éditons un Administrateur groupe, par exemple.
Comme vous pouvez le constater, toutes les ressources sont répertoriées dans la liste déroulante. Bien sûr, si vous créez un nouveau fichier de contrôleur pour votre module personnalisé, il sera également récupéré..
Voilà donc une introduction de base aux ressources. Dans la section suivante, nous verrons comment les ressources sont associées aux autorisations..
Dans OpenCart, les autorisations sont divisées en deux catégories principales: accès et modification. Les utilisateurs disposant d'une autorisation d'accès pourront uniquement afficher les ressources, tandis que l'autorisation de modification leur permet d'ajouter / de modifier des informations sur les ressources..
Il s’agissait donc d’une introduction aux ressources et aux autorisations. Dans les prochaines sections, nous verrons comment les utiliser avec des groupes d'utilisateurs..
Comme vous connaissez maintenant les autorisations et les ressources, nous allons créer un nouveau groupe d'utilisateurs pour montrer comment tout cela fonctionne ensemble. Dirigez-vous vers le back-end et accédez à Système> Utilisateurs> Groupes d'utilisateurs. Il listera les groupes d'utilisateurs par défaut disponibles dans OpenCart.
Clique sur le + icône pour ajouter un nouveau groupe d'utilisateurs.
Entrez le nom du groupe d'utilisateurs, sélectionnez les ressources pour chaque accès avec permission et modifiez-vous. Enregistrez le groupe une fois que vous avez terminé! À des fins de démonstration, j'ai sélectionné uniquement les catalogue / catégorie ressource pour mon Groupe personnalisé.
Maintenant, créons rapidement un nouvel utilisateur à partir du back-end et affectons notre groupe d'utilisateurs nouvellement créé à cet utilisateur. Aller vers Système> Utilisateurs> Utilisateurs et cliquez sur le + icône pour créer un nouvel utilisateur.
Remplissez les détails requis - l'important à noter ici est le Groupe d'utilisateurs, pour lequel j'ai sélectionné Groupe personnalisé. Enregistrez l'utilisateur, déconnectez-vous et connectez-vous avec ce nouvel utilisateur. Maintenant, essayez d’accéder à toute section non autorisée pour le Groupe personnalisé groupe d'utilisateurs. Vous obtiendrez une erreur d'autorisation refusée!
Dans cette section, nous verrons comment vérifier si un utilisateur est autorisé à accéder à une ressource donnée ou à la modifier. L'extrait suivant apparaît dans la plupart des fichiers de contrôleur dans le back-end, car il est évident que nous devrons authentifier les utilisateurs avant de leur permettre d'effectuer des actions privilégiées..
Allez-y et ouvrez le upload / admin / contrôleur / catalogue / product.php
fichier.
if (! $ this-> user-> hasPermission ('modifier', 'catalogue / produit')) $ this-> error ['warning'] = $ this-> language-> get ('error_permission');
Il existe plusieurs endroits où vous trouverez l'extrait ci-dessus. En gros, il vérifie si l'utilisateur connecté a l'autorisation de modification sur la ressource «catalogue / produit»..
En interne, il vérifie le groupe d'utilisateurs de l'utilisateur connecté et vérifie si ce groupe particulier dispose de l'autorisation de modification sur ladite ressource..
De cette manière, vous pouvez vérifier si l'utilisateur est autorisé à exécuter des actions spécifiques sur certaines ressources. Le scénario idéal consisterait à configurer différents groupes d'utilisateurs et à attribuer un ensemble d'autorisations différent à chaque groupe, selon vos besoins..
Aujourd'hui, nous avons discuté des ressources et des autorisations dans OpenCart. Nous avons commencé par une introduction de base, puis nous avons vu comment vous pourriez tirer parti des groupes d'utilisateurs utilisés efficacement, en combinaison avec des ressources et des autorisations..
Nous avons conclu l'article par un extrait de code montrant comment vérifier si un utilisateur est autorisé à accéder à / modifier une ressource donnée..
Comme toujours, si vous recherchez des outils, utilitaires, extensions, etc., OpenCart supplémentaires que vous pouvez exploiter dans vos propres projets ou pour votre propre éducation, n'oubliez pas de voir ce que nous avons sur le marché..
Voilà donc pour aujourd'hui et n'oubliez pas de partager vos critiques et vos requêtes en utilisant le fil de commentaires ci-dessous.!