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

›Erweiterte Nutzung

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

Benchmarks

Go
CPP
Lua (JIT)

Der Overhead der Durchsetzung der Richtlinien ist in model_b_test.go verrechnet. Das Testbed ist:

Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz, 2601 Mhz, 4 Core(s), 8 Logical Processor(s)

Das Benchmarking-Ergebnis von geht Test -bench=. -benchmem ist wie folgt (op = ein Enforce() Aufruf, ms = Millisekunden, KB = Kilo Bytes):

TestfallRegelgrößeZeitüberschreitung (ms/op)Memory overhead (KB)
ACL2 Regeln (2 Benutzer)0.0154935.649
RBAC5 Regeln (2 Benutzer, 1 Rolle)0.0217387.522
RBAC (klein)1100 Regeln (1000 Benutzer, 100 Rollen)0.16430980.620
RBAC (Medium)11000 Regeln (10000 Benutzer, 1000 Rollen)2.258262765.152
RBAC (groß)110000 Regeln (100000 Benutzer, 10000 Rollen)23.9167767,606
RBAC mit Ressourcen-Rollen6 Regeln (2 Benutzer, 2 Rollen)0.0211467.906
RBAC mit Domänen/Mandanten6 Regeln (2 Benutzer, 1 Rolle, 2 Domains)0.03269610.755
ABAC0 Regel (0 Benutzer)0.0075102.328
Ruhen5 Regeln (3 Benutzer)0.04539891.774
Verweigerung überschreiben6 Regeln (2 Benutzer, 1 Rolle)0.0232818.370
Priorität9 Regeln (2 Benutzer, 2 Rollen)0.0163895.313

Der Overhead für die Durchsetzung von Richtlinien von Casbin CPP wird in Tests/Benchmarks mit Hilfe von des Google-Benchmarking-Tools verglichen. Der Test für diese Benchmarks ist:

Intel(R) Core(TM) i5-6300HQ CPU @ 2.30GHz, 4 cores, 4 threads

Here is the benchmarking result of executing casbin_benchmark target built in Release configuration (op = an enforce() call, ms = millisecond):

TestfallRegelgrößeTime overhead (ms/op)
ACL2 Regeln (2 Benutzer)0.0195
RBAC5 Regeln (2 Benutzer, 1 Rolle)0.0288
RBAC (klein)1100 Regeln (1000 Benutzer, 100 Rollen)0.300
RBAC (Medium)11000 Regeln (10000 Benutzer, 1000 Rollen)2.113
RBAC (groß)110000 Regeln (100000 Benutzer, 10000 Rollen)21.450
RBAC mit Ressourcen-Rollen6 Regeln (2 Benutzer, 2 Rollen)0.03
RBAC mit Domänen/Mandanten6 Regeln (2 Benutzer, 1 Rolle, 2 Domains)0.041
ABAC0 Regel (0 Benutzer)MN
Ruhen5 Regeln (3 Benutzer)MN
Verweigerung überschreiben6 Regeln (2 Benutzer, 1 Rolle)0.0246
Priorität9 Regeln (2 Benutzer, 2 Rollen)0.035

Lua Casbin's Overhead of policy enforcement is benchmarked in bench.lua. Das Testbed war ein Ubuntu VM mit der CPU:

AMD Ryzen(TM) 5 4600H CPU @ 3.0GHz, 6 Kerne, 12 Threads

Das Benchmarking-Ergebnis von luajit bench.lua ist wie folgt (op = enforce() call, ms = Millisekunden):

TestfallRegelgrößeZeitüberschreitung (ms/op)
ACL2 Regeln (2 Benutzer)0.0533
RBAC5 Regeln (2 Benutzer, 1 Rolle)0.0972
RBAC (klein)1100 Regeln (1000 Benutzer, 100 Rollen)0.8598
RBAC (Medium)11000 Regeln (10000 Benutzer, 1000 Rollen)8.6848
RBAC (groß)110000 Regeln (100000 Benutzer, 10000 Rollen)90.3217
RBAC mit Ressourcen-Rollen6 Regeln (2 Benutzer, 2 Rollen)0.1124
RBAC mit Domänen/Mandanten6 Regeln (2 Benutzer, 1 Rolle, 2 Domains)0.1978
ABAC0 Regel (0 Benutzer)0.0305
Ruhen5 Regeln (3 Benutzer)0.1085
Verweigerung überschreiben6 Regeln (2 Benutzer, 1 Rolle)0.1934
Priorität9 Regeln (2 Benutzer, 2 Rollen)0.1437
← MehrfachfachenLeistungsoptimierung →
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