Data Permissions
本页描述了在 Casbin 中处理数据级权限的两种方式:使用 implicit(隐式)角色/权限查询和使用 batch enforcement(批量执行)。
1. 隐式角色和权限
当用户通过 RBAC 层级获取角色或权限时(不仅仅是通过直接的策略规则),这些即为 implicit(隐式)。使用 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 决策转换为查询过滤器的其他方法,请参见 List Filtering。
Comments are powered by giscus and GitHub Discussions. They load from giscus.app and GitHub only after you click the button below.