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

Общий обзор

Casbin - это мощная и эффективная библиотека управления доступом с открытым исходным кодом, которая поддерживает различные модели управления доступом для обеспечения авторизации на форуме.

Принудительное применение свода правил так же просто, как и перечисление субъектов, объекты и желаемое допустимое действие (или любой другой формат в соответствии с вашими потребностями) в политике файл. Это синонимы всех потоков Касбин используется. Разработчик/администратор имеет полный контроль над разметкой и условия для авторизации , которые задаются с помощью файла модели. Касбин предоставляет Enforcer для проверки входящего запроса на основе политики и модели файлов, предоставленных forcer.

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

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

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

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

Мы всегда стараемся сделать так, чтобы Касбин имел одинаковый набор возможностей для всех языков. Но реальность не так красива.

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

Примечание- ✅ для Наблюдателя или Менеджера ролей означает только наличие интерфейса в основной библиотеке. Не указывает на то, есть ли у него наблюдатель или реализация ролевого менеджера.

Что такое 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. Множество встроенных операторов для поддержки соответствия правил. Например, keyMatch может сопоставить ключ ресурса /foo/bar с шаблоном /foo*.

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

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

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