Casbin RBAC v.s. RBAC96
Casbin RBAC und RBAC96
In diesem Dokument vergleichen wir Casbin RBAC mit RBAC96.
Casbin RBAC unterstützt fast alle Funktionen von RBAC96 und hat darüber hinaus neue Features hinzugefügt.
RBAC-Version | Support-Level | Beschreibung |
---|---|---|
RBAC0 | voll unterstützt | RBAC0 ist die Basisversion von RBAC96. Es klärte die Beziehung zwischen Benutzern, Rollen und Berechtigungen. |
RBAC1 | voll unterstützt | RBAC1 hat Rollen-Hierarchien auf RBAC0 hinzugefügt, was bedeutet, dass Alice Rollen1 hat Rolle1 hat Rollen2 , dann wird alice auch role2 haben und seine Berechtigungen erben. |
RBAC2 | mutually exclusive handling is supported (like this), but quantitative limits are not | RBAC2 fügte Einschränkungen für RBAC0 hinzu. RBAC2 kann also mit gegenseitigen Ausschlüssen in der Politik umgehen. |
RBAC3 | mutually exclusive handling is supported (like this), but quantitative limits are not | RBAC3 ist eine Kombination aus RBAC1 und RBAC2. RBAC3 unterstützt Rollenhierarchien und -beschränkungen in RBAC1 und RBAC2. |
Unterschied zwischen Casbin RBAC und RBAC96
In Casbin ist die Unterscheidung zwischen Benutzer und Rolle nicht klar
In Casbin werden sowohl der Benutzer als auch die Rolle als Strings behandelt. Wenn Sie eine Richtlinien-Datei wie folgt geschrieben haben:
p, admin, buch, lesen p, alice, buch, lesen g, amber, admin
und rufen die Methode
GetAllSubjects()
auf, wie diese (e
ist eine Instanz von Casbin Enforcer):e.GetAllSubjects()
dann erhalten Sie den Rückgabewert:
[Adminalice]
Da in Kasbin, Betreffe Benutzer und Rollen einbezogen.
Allerdings, wenn Sie die Methode
GetAllRoles()
so aufrufen:e.GetAllRoles()
dann erhalten Sie den Rückgabewert:
[admin]
Und jetzt wissen Sie, dass es eine Unterscheidung zwischen Benutzern und Rollen in Kasbin gibt, aber ist nicht so scharf wie in RBAC96. Natürlich können Sie ein paar Präfix zu Ihren Richtlinien hinzufügen, wie
user::alice
,role::admin
, um deren Beziehungen zu klären.Casbin RBAC bietet mehr Berechtigungen als RBAC96
Nur 7 Berechtigungen sind in RBAC96 definiert: Lesen, Schreiben, Anhängen, Ausführen, Krediten, Debit, Anfrage.
Allerdings behandeln wir in Casbin Berechtigungen als Zeichenketten. Auf diese Weise können Sie einige Berechtigungen erstellen, die Ihnen besser passen.
Casbin RBAC unterstützt Domains
In Casbin können Sie Autorisierungen durch Domains durchführen. Diese Funktion hat Ihr Access Control Model flexibler gemacht.