Casbin

Casbin

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

›API

Основы

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

Модель

  • Поддерживаемые модели
  • Синтаксис для моделей
  • Эффект
  • Функция
  • 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

RBAC с доменным API

Более дружественный API для RBAC с доменами. Этот API является подмножеством API Management API. Пользователи RBAC могли бы использовать этот API для упрощения кода.

Артикул

глобальная переменная e является экземпляром Enforcer.

Go
Node.js
PHP
Python
.NET
Rust
Java
e, err := NewEnforcer("examples/rbac_with_domains_model.conf", "examples/rbac_with_domains_policy.csv")
const e = await newEnforcer('examples/rbac_with_domains_model.conf', 'examples/rbac_with_domains_policy.csv')
$e = new Enforcer('examples/rbac_with_domains_model.conf', 'examples/rbac_with_domains_policy.csv');
e = casbin.Enforcer("examples/rbac_with_domains_model.conf", "examples/rbac_with_domains_policy.csv")
var e = new Enforcer("examples/rbac_with_domains_model.conf", "examples/rbac_with_domains_policy.csv");
let mut e = Enforcer::new("examples/rbac_with_domains_model.conf", "examples/rbac_with_domains_policy.csv").await?;
Enforcer e = new Enforcer("examples/rbac_with_domains_model.conf", "examples/rbac_with_domains_policy.csv");

GetUsersForRoleInDomain()

GetUsersForRoleInDomain получает пользователей с ролью внутри домена.

Например:

Go
Node.js
Python
res := e.GetUsersForRoleInDomain("admin", "domain1")
const res = e.getUsersForRoleInDomain("admin", "domain1")
res = e.get_users_for_role_in_domain("admin", "domain1")

GetRolesForUserInDomain()

GetRolesForUserInDomain получает роли, которые пользователь имеет внутри домена.

Например:

Go
Node.js
Python
Java
res := e.GetRolesForUserInDomain("admin", "domain1")
const res = e.getRolesForUserInDomain("alice", "domain1")
res = e.get_roles_for_user_in_domain("alice", "domain1")
List<String> res = e.getRolesForUserInDomain("admin", "domain1");

GetPermissionsForUserInDomain()

GetPermissionsForUserInDomain получает разрешения для пользователя или роли внутри домена.

Например:

Go
Java
res := e.GetPermissionsForUserInDomain("alice", "domain1")
List<List<String>> res = e.getPermissionsForUserInDomain("alice", "domain1");

AddRoleForUserInDomain()

AddRoleForUserInDomain добавляет роль для пользователя внутри домена. Возвращает false, если пользователь уже имеет роль (aka not affected).

Например:

Go
Python
Java
ok, err := e.AddRoleForUserInDomain("alice", "admin", "domain1")
ok = e.add_role_for_user_in_domain("alice", "admin", "domain1")
boolean ok = e.addRoleForUserInDomain("alice", "admin", "domain1");

Удалить роль ForUserInDomain()

DeleteRoleForUserInDomain удаляет роль пользователя внутри домена. Возвращает false, если у пользователя нет роли (aka не затрагивается).

Например:

Go
Java
ok, err := e.DeleteRoleForUserInDomain("alice", "admin", "domain1")
boolean ok = e.deleteRoleForUserInDomain("alice", "admin", "domain1");

Удалить RolesForUserInDomain()

DeleteRolesForUserInDomain удаляет все роли пользователя внутри домена. Возвращает false, если пользователь не имеет никаких ролей (aka не затрагивается).

Например:

Go
ok, err := e.DeleteRolesForUserInDomain("alice", "domain1")

GetAllUsersByDomain()

GetAllUsersByDomain сделает так, чтобы все пользователи, связанные с доменом. Возвращает пустой строковый массив, если не имеет определенного в модели домена.

Например:

Go
res := e.GetAllUsersByDomain("domain1")

Удалить AllUsersByDomain()

Удалить всех пользователей, связанных с доменом. Возвращает false, если не имеет определенного в модели домена.

Например:

Go
ok, err := e.DeleteAllUsersByDomain("domain1")

Удалить Domains()

DeleteDomains удалит всех связанных пользователей и ролей. Если параметр не предоставлен, то все домены будут удалены.

Например:

Go
ok, err := e.DeleteDomains("domain1", "domain2")

GetAllDomains()

GetAllDomains would get all domains.

For example:

Go
res, _ := e.GetAllDomains()
note

If you are handling a domain like name::domain, it may lead to unexpected behavior. In Casbin, :: is a reversed keyword, just like for, if in a programming language, we should never put :: in a domain.

← RBAC APIRoleManager API →
  • Артикул
    • GetUsersForRoleInDomain()
    • GetRolesForUserInDomain()
    • GetPermissionsForUserInDomain()
    • AddRoleForUserInDomain()
    • Удалить роль ForUserInDomain()
    • Удалить RolesForUserInDomain()
    • GetAllUsersByDomain()
    • Удалить AllUsersByDomain()
    • Удалить Domains()
    • GetAllDomains()
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