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

Разрешения на уровне данных

На этой странице описаны два способа работы с разрешениями на уровне данных в Casbin: использование неявных запросов ролей/разрешений и использование пакетного применения правил.

1. Неявные роли и разрешения​

Когда пользователи получают роли или разрешения через иерархию RBAC (а не только по прямым правилам политики), они являются неявными. Используйте GetImplicitRolesForUser() и GetImplicitPermissionsForUser(), чтобы включить их; GetRolesForUser() и GetPermissionsForUser() возвращают только прямые назначения. См. GitHub #137.

2. BatchEnforce()​

BatchEnforce() выполняет множество проверок доступа за один вызов и возвращает срез булевых значений. Используйте его для эффективной фильтрации или валидации наборов данных.

Пример:

boolArray, err := e.BatchEnforce(requests)

Для больших списков, SQL-пагинации и других способов преобразования решений Casbin в фильтр запроса см. Фильтрация списков.

Comments are powered by giscus and GitHub Discussions. They load from giscus.app and GitHub only after you click the button below.