Heim > Fragen und Antworten > Hauptteil
Ich habe kürzlich Laravel gelernt und bin verwirrt über das Autorisierungssystem, das mit Laravel einhergeht. Ich möchte etwas fragen.
Wissensübersicht:
Modelle der Zugangskontrolle:
Es gibt drei Haupttypen von Zugangskontrollmodellen: diskretionäre Zugangskontrolle (DAC), obligatorische Zugangskontrolle (MAC) und rollenbasierte Zugangskontrolle (RBAC). 1、自主访问控制 自主访问控制(Discretionary Access
Control (DAC) ist ein Zugriffskontrolldienst, der die Autorisierung des Zugriffs auf Systemressourcen basierend auf der Identität von Systemeinheiten durchführt. Beinhaltet das Festlegen von Berechtigungen für Dateien, Ordner und freigegebene Ressourcen. Benutzer haben das Recht, auf Zugriffsobjekte wie Dateien und Datentabellen zuzugreifen, die sie selbst erstellt haben, und können anderen Benutzern Zugriffsrechte gewähren oder Zugriffsrechte entziehen. Der Besitzer eines Zugriffsobjekts ist berechtigt, eine Kontrollrichtlinie für den Zugriff auf das Objekt zu formulieren. Normalerweise kann eine Zugriffskontrollliste verwendet werden, um die Vorgänge einzuschränken, die auf dem Objekt ausgeführt werden können.
2、强制访问控制
Mandatory Access Control (MAC) ist ein System, das Personen dazu zwingt, Zugriffskontrollrichtlinien einzuhalten. Es handelt sich um das System, das Benutzerberechtigungen und den Zugriff auf Betriebsobjekte gemäß vorgeschriebenen Regeln für von Benutzern erstellte Objekte steuert. Das Hauptmerkmal besteht darin, eine obligatorische Zugriffskontrolle für alle Subjekte und die von ihnen kontrollierten Prozesse, Dateien, Segmente, Geräte und anderen Objekte zu implementieren.
3. Rollenbasierte Zugriffskontrolle
Eine Rolle ist eine Sammlung einer bestimmten Anzahl von Berechtigungen. Bezieht sich auf die Sammlung von Ressourcen und entsprechenden Betriebsberechtigungen, auf die zum Abschließen einer Aufgabe zugegriffen werden muss. Rollen dienen als Proxy-Ebene für Benutzer und Berechtigungen und drücken die Beziehung zwischen Berechtigungen und Benutzern aus. Alle Berechtigungen sollten Rollen und nicht direkt Benutzern oder Benutzergruppen zugewiesen werden. RBAC wurde später zu RBAC0, RBAC1, RBAC2 usw.
4、基于属性的访问控制ABAC
5. Richtlinienbasierte Zugriffskontrolle PBAC usw.
Frage:
1. Welches Autorisierungsmodell verwendet das Autorisierungssystem von Social-Networking-Websites wie Renren, Zhihu, Twitter usw. bevorzugt?
2. Welches Autorisierungsmodell verwenden E-Commerce-Autorisierungssysteme wie Tmall, Mogujie usw. am liebsten?
3. Die meisten Frameworks verfügen über ein Autorisierungssystem (meist basierend auf ACL-Technologie), aber die meisten davon sind keine RBAC-Modellsysteme. Wenn ich direkt das Autorisierungssystem verwende, das mit dem Framework geliefert wird, beispielsweise das in Laravel 5.1.11 (Gate/Policy usw. – ACL-basiertes Autorisierungssystem), und mit der Erstellung von Social- und E-Commerce-Anwendungen beginne, welche Probleme sollten auftreten Ich löse?
4. Wie kann das Designproblem des Autorisierungsteils der Backend-Verwaltung mithilfe des in 3. erwähnten „…integrierten Autorisierungssystems“ gelöst werden? Die meisten Anwendungen sind grob in Frontend (Benutzer, öffentliche Schnittstelle) und Backend (Administratorverwaltung) und Superadmin (Root-Site, Superadministrator) unterteilt. Wie sieht es mit den Berechtigungsproblemen verschiedener Rollen aus?