支持的模型
Casbin 支持以下访问控制模型和模式。如果你不确定需要哪种模型,请先阅读 选择访问控制模型。
- ACL(访问控制列表)
- 带有 superuser 的 ACL
- 无用户的 ACL — 适用于没有身份验证或用户身份的系统(例如仅限 API 或设备访问)。
- 无资源的 ACL — 当权限应用于资源类型而非特定实例时(例如“write-article”、“read-log”)。
- RBAC(基于角色的访问控制)
- 带有资源角色的 RBAC — 用户和资源都可以拥有角色(或组成员资格)。
- 带域名/租户的 RBAC — 用户可以在不同的域名或租户中拥有不同的角色。
- ABAC(基于属性的访问控制) — 在规则中使用属性(例如
resource.Owner)。 - PBAC(基于策略的访问控制) — 授权由基于规则的策略驱动,用于动态、上下文感知的决策。
- BLP(Bell–LaPadula) — 包含安全标签和许可等级的形式化模型。
- Biba — 完整性模型,限制信息流以防止未经授权的更改。
- LBAC(基于格的访问控制) — 在基于格的框架中结合机密性和完整性。
- OrBAC(基于组织的访问控制) — 扩展了 RBAC,为多组织策略提供抽象层。
- UCON(使用控制) — 涵盖持续授权、可变属性、义务和条件。
- RESTful — 路径模式(例如
/res/*、/res/:id)和 HTTP 方法(GET、POST、PUT、DELETE)。 - IP Match — 通过 IP 地址或 CIDR 进行匹配,实现网络级控制。
- Deny-override — 同时包含允许和拒绝策略;拒绝优先于允许。
- Priority — 策略规则按顺序排列(类似防火墙规则);首个匹配项生效。
Comments are powered by giscus and GitHub Discussions. They load from giscus.app and GitHub only after you click the button below.