Casbin

Casbin

  • Документ
  • API
  • Редактор
  • Плагины IDE
  • Single Sign-On (SSO)
  • Форум
  • Справка
  • Блог
  • Pricing
  • Contact Sales
  • Languages iconРусский
    • English
    • 中文
    • 한국어
    • Français
    • Deutsch
    • 日本語
    • Помочь перевести
  • GitHub

›Расширенное использование

Основы

  • Общий обзор
  • Начать работу
  • Как это работает
  • Уроки

Модель

  • Поддерживаемые модели
  • Синтаксис для моделей
  • Эффект
  • Функция
  • RBAC
  • RBAC with Pattern
  • RBAC с доменами
  • Casbin RBAC v.s. RBAC96
  • АДАТ
  • Приоритетная модель
  • Супер админ

Хранилище

  • Модель хранилища
  • Хранилище политики
  • Загрузка подмножества политик

Расширения

  • Enforcers
  • Адаптеры
  • Наблюдатели
  • Диспетчеры
  • Менеджеры ролей
  • Посредники
  • GraphQL Middlewares
  • Облачные Посредники

API

  • Обзор API
  • API управления
  • RBAC API
  • RBAC с доменным API
  • RoleManager API
  • Права доступа к данным

Расширенное использование

  • Многопоточность
  • Benchmarks
  • Оптимизация производительности
  • Авторизация Кубернетов
  • Авторизация служебной ячейки через посланника

Управление

  • Администратор портала
  • Служба Касбина
  • Обработка журнала и ошибок
  • Использование интерфейса

Редактор

  • Онлайн-редактор
  • Плагины IDE

Ещё

  • Наши усыновители
  • Вклад
  • Политика конфиденциальности
  • Условия предоставления услуг
Translate

Benchmarks

Go
CPP
Lua (JIT)

Накладные расходы по исполнению политики сравниваются с model_b_test.go. Испытание:

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

бенчмаркинг результат идет тест -bench=. -бенчм является следующим (op = an Enforce() вызов, ms = millisecond, KB = килобайт):

Испытательный регистрРазмер правилаПерекрытие времени (мс/оп)Memory overhead (KB)
ACL2 правила (2 пользователя)0.0154935.649
RBAC5 правил (2 пользователя, 1 роль)0.0217387.522
RBAC (маленький)1100 правил (1000 пользователей, 100 ролей)0.16430980.620
RBAC (средний)11000 правил (10000 пользователей, 1000 ролей)2.258262765.152
RBAC (большой)Правила 110000 (100000 пользователей, 10000 ролей)23.9167767,606
RBAC с ролями ресурсов6 правил (2 пользователя, 2 роли)0.0211467.906
RBAC с доменами/арендаторами6 правил (2 пользователя, 1 роль, 2 домена)0.03269610.755
АДАТ0 правил (0 пользователь)0.0075102.328
Восстановленный5 правил (3 пользователя)0.04539891.774
Запретить переопределение6 правил (2 пользователя, 1 роль)0.0232818.370
Приоритет9 правил (2 пользователя, 2 роли)0.0163895.313

Накладные расходы на выполнение CPP Casbin сравниваются с теста/контрольные показатели с помощью инструмент бенчмаркинга Google. Испытание для этих контрольных показателей:

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

Испытательный регистрРазмер правилаTime overhead (ms/op)
ACL2 правила (2 пользователя)0.0195
RBAC5 правил (2 пользователя, 1 роль)0.0288
RBAC (маленький)1100 правил (1000 пользователей, 100 ролей)0.300
RBAC (средний)11000 правил (10000 пользователей, 1000 ролей)2.113
RBAC (большой)Правила 110000 (100000 пользователей, 10000 ролей)21.450
RBAC с ролями ресурсов6 правил (2 пользователя, 2 роли)0.03
RBAC с доменами/арендаторами6 правил (2 пользователя, 1 роль, 2 домена)0.041
АДАТ0 правил (0 пользователь)NA
Восстановленный5 правил (3 пользователя)NA
Запретить переопределение6 правил (2 пользователя, 1 роль)0.0246
Приоритет9 правил (2 пользователя, 2 роли)0.035

Lua Casbin's накладные расходы по обеспечению соблюдения политики сравниваются с bench.lua. The testbed was a Ubuntu VM with the CPU:

AMD Ryzen(TM) 5 4600H CPU @ 3.0GHz, 6 Cores, 12 потоков

Результаты бенчмаркинга luajit bench.lua следуют следующим образом (op = enforce() вызов, ms = millisecond):

Испытательный регистрРазмер правилаПерекрытие времени (мс/оп)
ACL2 правила (2 пользователя)0.0533
RBAC5 правил (2 пользователя, 1 роль)0.0972
RBAC (маленький)1100 правил (1000 пользователей, 100 ролей)0.8598
RBAC (средний)11000 правил (10000 пользователей, 1000 ролей)8.6848
RBAC (большой)Правила 110000 (100000 пользователей, 10000 ролей)90.3217
RBAC с ролями ресурсов6 правил (2 пользователя, 2 роли)0.1124
RBAC с доменами/арендаторами6 правил (2 пользователя, 1 роль, 2 домена)0.1978
АДАТ0 правил (0 пользователь)0.0305
Восстановленный5 правил (3 пользователя)0.1085
Запретить переопределение6 правил (2 пользователя, 1 роль)0.1934
Приоритет9 правил (2 пользователя, 2 роли)0.1437
← МногопоточностьОптимизация производительности →
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