Разрешения на уровне данных
На этой странице описаны два способа работы с разрешениями на уровне данных в Casbin: использование неявных запросов ролей/разрешений и использование пакетного применения правил.
1. Неявные роли и разрешения
Когда пользователи получают роли или разрешения через иерархию RBAC (а не только по прямым правилам политики), они являются неявными. Используйте GetImplicitRolesForUser() и GetImplicitPermissionsForUser(), чтобы включить их; GetRolesForUser() и GetPermissionsForUser() возвращают только прямые назначения. См. GitHub #137.
2. BatchEnforce()
BatchEnforce() выполняет множество проверок доступа за один вызов и возвращает срез булевых значений. Используйте его для эффективной фильтрации или валидации наборов данных.
Пример:
boolArray, err := e.BatchEnforce(requests)
const boolArray = await e.batchEnforce(requests);
List<Boolean> boolArray = 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.