Перейти к основному контенту

Общий обзор

Casbin is a powerful and efficient open-source access control library that supports various access control models for enforcing authorization across the board.

Принудительное применение свода правил так же просто, как и перечисление субъектов, объекты и желаемое допустимое действие (или любой другой формат в соответствии с вашими потребностями) в политике файл. Это синонимы всех потоков Касбин используется. The developer/administrator has the complete control over the layout, execution and conditions for authorization which is set via the model file. Casbin provides an Enforcer for validating an incoming request based on the policy and model files given to the Enforcer.

Языки, поддерживаемые Casbin:

Casbin обеспечивает поддержку различных языков программирования, готовых быть интегрированными в любой проект и рабочий процесс:

golangjavanodejsphp
CasbinjCasbinnode-CasbinPHP-Casbin
готовое производствоготовое производствоготовое производствоготовое производство
pythondotnetc++ржава
PyCasbinCasbin.NETCasbin-CPPCasbin-RS
готовое производствоготовое производствоготовое производствоготовое производство

Функция для разных языков

We are always working our best to make Casbin have the same set of features for all languages. Но реальность не так красива.

ФункцияИдтиJavaNode.jsPHPPythonC#ДельфиРжаваК++LuaДартElixir
Обеспечение соблюдения
RBAC
АДАТ
Scaling ABAC (eval())
Адаптер
API управления
RBAC API
Пакетное API
Фильтрованный адаптер
Наблюдатель
Управление ролями
Многопоточность
'в' партнера

Note- ✅ for Watcher or Role Manager only means having the interface in the core library. It is not indicative of whether there is a watcher or role manager implementation available.

Что такое Casbin?

Casbin — это библиотека авторизации, которая может использоваться в потоках, где мы хотим, чтобы объект или сущность были доступны определенному пользователю или предмету. Тип доступа, т.е. действие может быть прочитано, write, удалить или любое другое действие, установленное разработчиком. Так широко используется Касбин и его называют «стандартным» или классическим { subject, object, action } потоком.

Casbin is capable of handling many complex authorization scenarios other than the standard flow. Можно добавить ролей (RBAC), атрибутов (ABAC) и т.д.

Что делает Камбин:

  1. Enforce the policy in the classic { subject, object, action } form or a customized form as you defined. Both allow and deny authorizations are supported.
  2. Управление хранением модели контроля доступа и ее политикой.
  3. Управление картами ролевых ролей и картами ролей (aka role иерархия ролей в RBAC).
  4. Support built-in superusers like root or administrator. Суперпользователь может делать что-либо без явных разрешений.
  5. Множество встроенных операторов для поддержки соответствия правил. For example, keyMatch can map a resource key /foo/bar to the pattern /foo*.

Что делает Касбин НЕ делает:

  1. Аутентификация (aka проверить имя пользователя и пароль `` при входе пользователя)
  2. Управление списком пользователей или ролями.

Управление списком пользователей, ролей или паролей, удобнее для проекта. Пользователи обычно имеют свои пароли, а Casbin не разработан как контейнер паролей. Однако, Касбин хранит отображение ролей пользователей для сценария RBAC.