Casbin

Casbin

  • Documents
  • API
  • Editeur
  • Plugins IDE
  • Authentification unique (SSO)
  • Forums
  • Aide
  • Blogue
  • Pricing
  • Contact Sales
  • Languages iconFrançais
    • English
    • 中文
    • 한국어
    • Русский
    • Deutsch
    • 日本語
    • Aider à traduire
  • GitHub

›Utilisation avancée

Les Bases

  • Aperçu
  • Commencer
  • Comment ça marche
  • Tutoriels

Modélisation

  • Modèles pris en charge
  • Syntaxe pour les modèles
  • Effet
  • Fonction
  • RBAC
  • RBAC avec motif
  • RBAC avec domaines
  • Casbin RBAC v.s. RBAC96
  • ABAC
  • Modèle de priorité
  • Super Admin

Stockage

  • Stockage du modèle
  • Stockage de la politique
  • Chargement du sous-ensemble de la politique

Extensions

  • Enforcers
  • Adaptateurs
  • Observateurs
  • Répartiteurs
  • Responsables des rôles
  • Moyens
  • Moyens GraphQL
  • Moyens natifs du Cloud

API

  • Aperçu de l'API
  • API de gestion
  • RBAC API
  • RBAC avec API Domains
  • API RoleManager
  • Autorisations des données

Utilisation avancée

  • Multi-threads
  • Benchmarks
  • Optimisation des performances
  • Autorisation de Kubernetes
  • Autorisation de maillage de service par l'envoyé

Gestion

  • Portail Admin
  • Service Casbin
  • Gestion des logs et des erreurs
  • Utilisation du frontend

Editeur

  • Éditeur en ligne
  • Plugins IDE

En savoir plus

  • Nos Adopteurs
  • Contribuer
  • Politique de confidentialité
  • Conditions d'utilisation
Translate

Benchmarks

Go
CPP
Lua (JIT)

Les frais de mise en application de la politique sont comparés dans model_b_test.go. Le lit de test est :

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

Le résultat du benchmarking de va test -bench=. -benchmem est comme suit (op = un appel Enforce() , ms = milliseconde, KB = kilo octets):

Cas de testTaille de la règleTemps au dessus (ms/op)Memory overhead (KB)
ACL2 règles (2 utilisateurs)0.0154935.649
RBAC5 règles (2 utilisateurs, 1 rôle)0.0217387.522
RBAC (petit)1100 règles (1000 utilisateurs, 100 rôles)0.16430980.620
RBAC (moyen)11000 règles (10000 utilisateurs, 1000 rôles)2.258262765.152
RBAC (grand)110000 règles (100000 utilisateurs, 10000 rôles)23.9167767,606
RBAC avec les rôles de ressource6 règles (2 utilisateurs, 2 rôles)0.0211467.906
RBAC avec domaines/locataires6 règles (2 utilisateurs, 1 rôle, 2 domaines)0.03269610.755
ABAC0 règle (0 utilisateur)0.0075102.328
RESTANT5 règles (3 utilisateurs)0.04539891.774
Refuser la substitution6 règles (2 utilisateurs, 1 rôle)0.0232818.370
Priorité9 règles (2 utilisateurs, 2 rôles)0.0163895.313

Les frais d'exécution de la politique de Casbin CPP sont comparés dans le répertoire tests/benchmarks à l'aide de l'outil de benchmarking de Google. Le lit de test pour ces repères est :

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):

Cas de testTaille de la règleTime overhead (ms/op)
ACL2 règles (2 utilisateurs)0.0195
RBAC5 règles (2 utilisateurs, 1 rôle)0.0288
RBAC (petit)1100 règles (1000 utilisateurs, 100 rôles)0.300
RBAC (moyen)11000 règles (10000 utilisateurs, 1000 rôles)2.113
RBAC (grand)110000 règles (100000 utilisateurs, 10000 rôles)21.450
RBAC avec les rôles de ressource6 règles (2 utilisateurs, 2 rôles)0.03
RBAC avec domaines/locataires6 règles (2 utilisateurs, 1 rôle, 2 domaines)0.041
ABAC0 règle (0 utilisateur)NA
RESTANT5 règles (3 utilisateurs)NA
Refuser la substitution6 règles (2 utilisateurs, 1 rôle)0.0246
Priorité9 règles (2 utilisateurs, 2 rôles)0.035

Lua Casbin's overhead of policy enforcement est comparé dans bench.lua. Le lit testé était une VM Ubuntu avec le CPU:

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

Le résultat de benchmarking de luajit bench.lua est le suivant (op = un appel enforce() , ms = millisecond):

Cas de testTaille de la règleTemps au dessus (ms/op)
ACL2 règles (2 utilisateurs)0.0533
RBAC5 règles (2 utilisateurs, 1 rôle)0.0972
RBAC (petit)1100 règles (1000 utilisateurs, 100 rôles)0.8598
RBAC (moyen)11000 règles (10000 utilisateurs, 1000 rôles)8.6848
RBAC (grand)110000 règles (100000 utilisateurs, 10000 rôles)90.3217
RBAC avec les rôles de ressource6 règles (2 utilisateurs, 2 rôles)0.1124
RBAC avec domaines/locataires6 règles (2 utilisateurs, 1 rôle, 2 domaines)0.1978
ABAC0 règle (0 utilisateur)0.0305
RESTANT5 règles (3 utilisateurs)0.1085
Refuser la substitution6 règles (2 utilisateurs, 1 rôle)0.1934
Priorité9 règles (2 utilisateurs, 2 rôles)0.1437
← Multi-threadsOptimisation des performances →
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