J'ai récemment appris Laravel et je suis confus au sujet du système d'autorisation fourni avec Laravel. J'aimerais demander quelque chose.
Aperçu des connaissances :
Modèles de contrôle d'accès :
Il existe trois principaux types de modèles de contrôle d'accès : le contrôle d'accès discrétionnaire (DAC), le contrôle d'accès obligatoire (MAC) et le contrôle d'accès basé sur les rôles (RBAC). 1、自主访问控制 自主访问控制(Discretionary Access
Control (DAC) est un service de contrôle d'accès qui autorise l'accès aux ressources système en fonction de l'identité des entités du système. Comprend la définition des autorisations sur les fichiers, les dossiers et les ressources partagées. Les utilisateurs ont le droit d'accéder aux objets d'accès tels que les fichiers et les tables de données créés par eux-mêmes, et peuvent accorder des droits d'accès à d'autres utilisateurs ou retirer des droits d'accès. Le propriétaire d'un objet d'accès est autorisé à formuler une politique de contrôle d'accès à l'objet. Habituellement, une liste de contrôle d'accès peut être utilisée pour limiter les opérations pouvant être effectuées sur l'objet.
2、强制访问控制
Le contrôle d'accès obligatoire (MAC) est un système qui oblige les sujets à obéir aux politiques de contrôle d'accès. C'est le système qui contrôle les autorisations des utilisateurs et l'accès aux objets d'exploitation selon des règles prescrites pour les objets créés par les utilisateurs. La principale caractéristique est de mettre en œuvre un contrôle d'accès obligatoire sur tous les sujets et les processus, fichiers, segments, appareils et autres objets qu'ils contrôlent.
3. Contrôle d'accès basé sur les rôles
Le rôle est un ensemble d'un certain nombre d'autorisations. Fait référence à l'ensemble des ressources et aux autorisations d'opération correspondantes auxquelles il faut accéder pour terminer une tâche. Les rôles servent de couche proxy pour les utilisateurs et les autorisations, exprimant la relation entre les autorisations et les utilisateurs. Toutes les autorisations doivent être accordées aux rôles plutôt que directement aux utilisateurs ou aux groupes d'utilisateurs. RBAC est ensuite devenu RBAC0, RBAC1, RBAC2, etc.
4、基于属性的访问控制ABAC
5. Contrôle d'accès basé sur des politiques PBAC, etc.
Question :
1. Quel modèle d'autorisation le système d'autorisation des sites de réseaux sociaux tels que Renren, Zhihu, Twitter, etc. préfère-t-il utiliser ?
2. Quel modèle d'autorisation est préféré pour les systèmes d'autorisation du commerce électronique tels que Tmall, Mogujie, etc. ?
3. La plupart des frameworks sont livrés avec un système d'autorisation (principalement des systèmes d'autorisation basés sur la technologie ACL), mais la plupart d'entre eux ne sont pas des systèmes modèles RBAC. Si j'utilise directement le système d'autorisation fourni avec le framework, comme celui de Laravel 5.1.11 (Gate/Policy, etc. - système d'autorisation basé sur acl), et que je commence à créer des applications sociales et de commerce électronique, quels problèmes devraient se poser ? Je résous ?
4. En utilisant le "...système d'autorisation intégré" mentionné en 3., comment résoudre le problème de conception de la partie autorisation de la gestion backend du site Web ? La plupart des applications sont grossièrement divisées en frontend (utilisateur, interface publique) et backend (gestion administrative) et superadmin (site racine, super administrateur). Qu'en est-il des problèmes d'autorisation des différents rôles ?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...