Zum Hauptinhalt springen

Casbin RBAC vs. 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-VersionSupport-LevelBeschreibung
RBAC0voll unterst├╝tztRBAC0 ist die Basisversion von RBAC96. Es kl├Ąrte die Beziehung zwischen Benutzern, Rollen und Berechtigungen.
RBAC1voll unterst├╝tztRBAC1 hat Rollen-Hierarchien auf RBAC0 hinzugef├╝gt, was bedeutet, dass Alice Rollen1hat Rolle1 hat Rollen2, dann wird alice auch role2 haben und seine Berechtigungen erben.
RBAC2gegenseitig ausschlie├čende Handhabung wird unterst├╝tzt (, wie diese), aber quantitative Grenzen sind nichtRBAC2 f├╝gte Einschr├Ąnkungen f├╝r RBAC0 hinzu. RBAC2 kann also mit gegenseitigen Ausschl├╝ssen in der Politik umgehen.
RBAC3gegenseitig ausschlie├čende Handhabung wird unterst├╝tzt (, wie diese), aber quantitative Grenzen sind nichtRBAC3 ist eine Kombination aus RBAC1 und RBAC2. RBAC3 unterst├╝tzt Rollenhierarchien und -beschr├Ąnkungen in RBAC1 und RBAC2.

Unterschied zwischen Casbin RBAC und RBAC96ÔÇő

  1. 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, book, read
    p, alice, book, read
    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.

  2. 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.

  3. Casbin RBAC unterst├╝tzt Domains

    In Casbin k├Ânnen Sie Autorisierungen durch Domains durchf├╝hren. Diese Funktion hat Ihr Access Control Model flexibler gemacht.