Casbin

Casbin

  • Texte
  • API
  • Redakteur
  • IDE-Plugins
  • Single Sign-On (SSO)
  • Forum
  • Hilfe
  • Blog
  • Pricing
  • Contact Sales
  • Languages iconDeutsch
    • English
    • 中文
    • 한국어
    • Русский
    • Français
    • 日本語
    • Helfen Sie zu übersetzen
  • GitHub

›API

Die Grundlagen

  • Übersicht
  • Los geht's
  • So funktioniert es
  • Anleitungen

Modell

  • Unterstützte Modelle
  • Syntax für Modelle
  • Effektor
  • Funktion
  • RBAC
  • RBAC with Pattern
  • RBAC mit Domänen
  • Casbin RBAC v.s. RBAC96
  • ABAC
  • Prioritätsmodell
  • Super-Admin

Speicher

  • Modellspeicher
  • Richtlinien-Speicher
  • Richtlinien-Untermengenladen

Erweiterungen

  • Enforcers
  • Adapter
  • Beobachter
  • Dispatcher
  • Rollen-Manager
  • Middleware
  • GraphQL Middlewares
  • Cloud Native Middlewares

API

  • API-Übersicht
  • Management-API
  • RBAC API
  • RBAC mit Domains API
  • Rollen-Manager-API
  • Datenberechtigungen

Erweiterte Nutzung

  • Mehrfachfachen
  • Benchmarks
  • Leistungsoptimierung
  • Autorisierung von Kubernetes
  • Genehmigung des Service-Mesh durch den Gesandten

Management

  • Admin-Portal
  • Kasbin-Dienst
  • Log- & Fehlerbehandlung
  • Frontend-Nutzung

Redakteur

  • Online-Editor
  • IDE-Plugins

Mehr

  • Unsere Adopter
  • Mitwirken
  • Datenschutzerklärung
  • Nutzungsbedingungen
Translate

Rollen-Manager-API

Rollenmanager

RoleManager stellt eine Schnittstelle zur Verfügung, um die Operationen zur Verwaltung von Rollen zu definieren. Das Hinzufügen der passenden Funktion zum Rollenmanager ermöglicht die Verwendung von Platzhaltern in Rollennamen und Domain.

AddNamedMatchingFunc()

AddNamedMatchingFunc füge MatchingFunc von ptype RoleManager hinzu. MatchingFunc funktioniert beim Abspielen von Rollen.

Go
Node.js
    e.AddNamedMatchingFunc("g", "", util.KeyMatch)
_, _ = e.AddGroupingPolicies([][][]string{{"*", "admin", "domain1"}})
_, _ = e.GetRoleManager().HasLink("bob", "admin", "domain1") // -> true, nil
    await e.addNamedMatchingFunc('g', Util.keyMatchFunc);
await e.addGroupingPolicies([['*', 'admin', 'domain1']]);
await e.getRoleManager().hasLink('bob', 'admin', 'domain1');

Zum Beispiel:

Go
Node.js
    e, _ := casbin.NewEnforcer("path/to/model", "path/to/policy")
e.AddNamedMatchingFunc("g", "", util.MatchKey)
    const e = await newEnforcer('path/to/model', 'path/to/policy');
await e.addNamedMatchingFunc('g', Util.keyMatchFunc);

AddNamedDomainMatchingFunc()

AddNamedDomainMatchingFunc fügt MatchingFunc per ptype dem RoleManager hinzu. DomainMatchingFunc ist ähnlich wie MatchingFunc oben aufgelistet.

Zum Beispiel:

Go
Node.js
    e, _ := casbin.NewEnforcer("path/to/model", "path/to/policy")
e.AddNamedDomainMatchingFunc("g", "", util.MatchKey)
    const e = await newEnforcer('path/to/model', 'path/to/policy');
await e.addNamedDomainMatchingFunc('g', Util.keyMatchFunc);

GetRoleManager()

GetRoleManager holt den aktuellen Rollenmanager für g.

Zum Beispiel:

Go
Node.js
Python
    rm := e.GetRoleManager()
    const rm = await e.getRoleManager();
    rm = e.get_role_manager()

Clear()

Clear löscht alle gespeicherten Daten und setzt den Rollenmanager auf den Ausgangszustand.

Zum Beispiel:

Go
Node.js
Python
    rm.Clear()
    await rm.clear();
    rm.clear()

AddLink()

AddLink fügt die Vererbung zwischen zwei Rollen hinzu. Rolle: name1 und Rolle: name2. Domain ist ein Präfix für die Rollen (kann für andere Zwecke verwendet werden).

Zum Beispiel:

Go
Node.js
Python
    rm.AddLink("u1", "g1", "domain1")
    await rm.addLink('u1', 'g1', 'domain1');
    rm.add_link("u1", "g1", "domain1")

LöschLink()

DeleteLink löscht die Vererbung zwischen zwei Rollen. Rolle: name1 und Rolle: name2. Domain ist ein Präfix für die Rollen (kann für andere Zwecke verwendet werden).

Zum Beispiel:

Go
Node.js
Python
    rm.DeleteLink("u1", "g1", "domain1")
    await rm.deleteLink('u1', 'g1', 'domain1');
    rm.delete_link("u1", "g1", "domain1")

HasLink()

HasLink bestimmt, ob eine Verbindung zwischen zwei Rollen besteht. Rolle: name1 vererbt die Rolle: name2. Domain ist ein Präfix für die Rollen (kann für andere Zwecke verwendet werden).

Zum Beispiel:

Go
Node.js
Python
    rm.HasLink("u1", "g1", "domain1")
    await rm.hasLink('u1', 'g1', 'domain1');
    rm.has_link("u1", "g1", "domain1")

GetRoles()

GetRoles erhält die Rollen, die ein Benutzer vererbt hat. Domain ist ein Präfix für die Rollen (kann für andere Zwecke verwendet werden).

Zum Beispiel:

Go
Node.js
Python
    rm.GetRoles("u1", "domain1")
    await rm.getRoles('u1', 'domain1');
    rm.get_roles("u1", "domain")

GetUsers()

Getusers bekommen die Benutzer, die eine Rolle erben. Domain ist ein Präfix für die Benutzer (kann für andere Zwecke verwendet werden).

Zum Beispiel:

Go
Node.js
Python
    rm.GetUsers("g1")
    await rm.getUsers('g1');
    rm.get_users("g1")

Druckrollen

PrintRoles druckt alle Rollen zu protokollieren.

Zum Beispiel:

Go
Node.js
Python
    rm.PrintRoles()
    await rm.printRoles();
    rm.print_roles()

SetLogger()

SetLogger setzt den Logger für Rollenmanager.

Zum Beispiel:

Go
    logger := log.DefaultLogger{}
logger.EnableLog(true)
rm.SetLogger(&logger)
_ = rm.PrintRoles()

GetDomains()

GetDomains erhalten Domänen, die ein Benutzer hat

Zum Beispiel:

Go
    result, err := rm.GetDomains(name)
← RBAC mit Domains APIDatenberechtigungen →
  • Rollenmanager
    • AddNamedMatchingFunc()
    • AddNamedDomainMatchingFunc()
    • GetRoleManager()
    • Clear()
    • AddLink()
    • LöschLink()
    • HasLink()
    • GetRoles()
    • GetUsers()
    • Druckrollen
    • SetLogger()
    • GetDomains()
Casbin
Docs
Getting StartedManagement APIRBAC APIMiddlewares
Community
Who's using Casbin?Stack Overflow
Casbin          jCasbin
Node-Casbin   PHP-CasbinPyCasbin          Casbin.NETCasbin-CPP        Casbin-RS
Follow @casbinHQ
Copyright © 2022 Casbin Organization