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

RoleManager API

RoleManager

RoleManager предоставляет интерфейс для определения операций для управления ролями. Добавление функции сопоставления в ролевой менеджер позволяет использовать маски в имени роли и домене.

AddNamedMatchingFunc()

AddNamedMatchingFunc добавить MatchingFunc по ptype RoleManager. MatchingFunc будет работать при совпадении ролей.

Go
Node.js
    e.AddNamedMatchingFunc("g", "", util.KeyMatch)
_, _ = e.AddGroupingPolicies([][]string{{"*", "admin", "domain1"}})
_, _ = e.GetRoleManager().HasLink("bob", "admin", "domain1") // -> true, nil
    await e.addNamedMatchingFunc('g', Util.keyMatchFunc);
await e.addGroupingPolicies([['*', 'admin', 'domain1']]);
await e.getRoleManager().hasLink('bob', 'admin', 'domain1');

Например:

Go
Node.js
    e, _ := casbin.NewEnforcer("path/to/model", "path/to/policy")
e.AddNamedMatchingFunc("g", "", util.MatchKey)
    const e = await newEnforcer('path/to/model', 'path/to/policy');
await e.addNamedMatchingFunc('g', Util.keyMatchFunc);

AddNamedDomainMatchingFunc()

AddNamedDomainMatchingFunc добавить MatchingFunc по ptype в RoleManager. DomainMatchingFunc похож на MatchingFunc , перечисленный выше.

Например:

Go
Node.js
    e, _ := casbin.NewEnforcer("path/to/model", "path/to/policy")
e.AddNamedDomainMatchingFunc("g", "", util.MatchKey)
    const e = await newEnforcer('path/to/model', 'path/to/policy');
await e.addNamedDomainMatchingFunc('g', Util.keyMatchFunc);

GetRoleManager()

GetRoleManager получает текущий ролевой менеджер для г.

Например:

Go
Node.js
Python
    rm := e.GetRoleManager()
    const rm = await e.getRoleManager();
    rm = e.get_role_manager()

Clear()

Очистить все сохраненные данные и сбросить менеджер ролей в начальное состояние.

Например:

Go
Node.js
Python
    rm.Clear()
    await rm.clear();
    rm.clear()

AddLink()

AddLink добавляет связь наследования между двумя ролями. роль: название и роль: имя2. Домен является префиксом к ролям (может использоваться для других целей).

Например:

Go
Node.js
Python
    rm.AddLink("u1", "g1", "domain1")
    await rm.addLink('u1', 'g1', 'domain1');
    rm.add_link("u1", "g1", "domain1")

DeleteLink()

DeleteLink удаляет связь наследования между двумя ролями. роль: название и роль: имя2. Домен является префиксом к ролям (может использоваться для других целей).

Например:

Go
Node.js
Python
    rm.DeleteLink("u1", "g1", "domain1")
    await rm.deleteLink('u1', 'g1', 'domain1');
    rm.delete_link("u1", "g1", "domain1")

HasLink()

HasLink определяет, существует ли связь между двумя ролями. роль: имя1 наследует роль: имя2. Домен является префиксом к ролям (может использоваться для других целей).

Например:

Go
Node.js
Python
    rm.HasLink("u1", "g1", "domain1")
    await rm.hasLink('u1', 'g1', 'domain1');
    rm.has_link("u1", "g1", "domain1")

GetRoles()

GetRoles получает роли, которые пользователь наследует. Домен является префиксом к ролям (может использоваться для других целей).

Например:

Go
Node.js
Python
    rm.GetRoles("u1", "domain1")
    await rm.getRoles('u1', 'domain1');
    rm.get_roles("u1", "domain")

GetUsers()

GetUsers получает пользователей, которые наследуют роль. Домен - это префикс для пользователей (может быть использован для других целей).

Например:

Go
Node.js
Python
    rm.GetUsers("g1")
    await rm.getUsers('g1');
    rm.get_users("g1")

PrintRoles()

PrintRoles печатает все роли для журнала.

Например:

Go
Node.js
Python
    rm.PrintRoles()
    await rm.printRoles();
    rm.print_roles()

SetLogger()

SetLogger задает журналирование ролей менеджера.

Например:

Go
    logger := log.DefaultLogger{}
logger.EnableLog(true)
rm.SetLogger(&logger)
_ = rm.PrintRoles()

GetDomains()

GetDomains получает домены, которые есть у пользователя

Например:

Go
    result, err := rm.GetDomains(name)
← RBAC с доменным APIПрава доступа к данным →
  • RoleManager
    • AddNamedMatchingFunc()
    • AddNamedDomainMatchingFunc()
    • GetRoleManager()
    • Clear()
    • AddLink()
    • DeleteLink()
    • HasLink()
    • GetRoles()
    • GetUsers()
    • PrintRoles()
    • SetLogger()
    • GetDomains()
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