跳到主要内容

Data Permissions

本页描述了在 Casbin 中处理数据级权限的两种方式:使用 implicit(隐式)角色/权限查询和使用 batch enforcement(批量执行)。

1. 隐式角色和权限​

当用户通过 RBAC 层级获取角色或权限时(不仅仅是通过直接的策略规则),这些即为 implicit(隐式)。使用 GetImplicitRolesForUser() 和 GetImplicitPermissionsForUser() 来包含它们;GetRolesForUser() 和 GetPermissionsForUser() 仅返回直接分配。参见 GitHub #137。

2. BatchEnforce()​

BatchEnforce() 在一次调用中运行多个访问检查并返回一个布尔值切片。使用它可以高效地过滤或验证数据集。

示例:

boolArray, err := 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.