数据权限
本页介绍在 Casbin 中处理数据级权限的两种方式:使用隐式(implicit)角色/权限查询,以及使用批量执行(batch enforcement)。
1. 隐式角色和权限
当用户通过 RBAC 层级(而不仅仅通过直接的 policy 规则)获得角色或权限时,这些就是隐式的。使用 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);