J'ai 4 types d'utilisateurs qui utilisent mon système : 1. Super Admin 2. Super Admin Team , 3. Administrateur et 4. Membres de l'équipe de direction,
Parce que j'utilise spatie pour gérer les rôles et les autorisations, j'ai un ensemble de modules (autorisations) communs à tous les types d'utilisateurs, et un autre ensemble de modules (autorisations) réservés aux super-administrateurs, comme les méthodes de paiement, etc.
Maintenant, une fois que ma base de données est amorcée pour autorisation, dois-je tout amorcer en même temps ? ['contacts','email','bids']
Livré avec Network Guard (mais je suis un peu confus quant à l'utilisation exacte de guard et à son fonctionnement), donc l'administrateur ne peut attribuer des autorisations à son équipe qu'à partir de ces autorisations autorisées. Cependant, pour Super Admin, je devrais utiliser Super Admin Garde Créer d'autres ensembles d'autorisations ? Je veux savoir quelle est la meilleure pratique.
Cas d'utilisation : Super administrateurConnectez-vous d'abord au système, puis décidez dans la liste quelles autorisations doivent être accordées à l'administrateur.
2. L'administrateur se connecte au système et attribue l'ensemble d'autorisations qui sera accordé à son équipe, mais l'administrateur ne pourra pas afficher la liste des autorisations dont dispose le super administrateur.
J'espère avoir été clair sur mon point de vue, veuillez me faire savoir la manière appropriée de le mettre en œuvre.
Je suppose que vous utilisez un modèle qui est celui des utilisateurs et que vous attribuez des autorisations directement aux utilisateurs. Voici mon approche. Donc, ce que vous pouvez faire, c'est d'abord créer un rôle et accorder les autorisations appropriées au rôle, puis attribuer le rôle à l'utilisateur.
Tout d'abord, attribuez des autorisations au rôle
Maintenant, synchronisez les rôles avec les utilisateurs
Ce sont des middlewares spatie intégrés que vous pouvez écrire dans app/Http/Kernel.php
Vous pouvez désormais utiliser un middleware « rôle » dans les routes à protéger,
Donc, vous devez maintenant obtenir des autorisations pour un rôle spécifique, c'est-à-dire Super Administrateur ou Administrateur. Voici ce que vous pouvez faire,
Vous pouvez également obtenir des rôles d'utilisateur de cette façon
Encore une chose, pour le super administrateur, vous n'avez pas besoin d'obtenir les autorisations du rôle, vous pouvez obtenir toutes les autorisations directement. Et comme le super-administrateur a accès à l'ensemble du système, vous pouvez contourner la vérification des autorisations du super-administrateur en procédant ainsi :
J'espère que cela vous aidera :)