Supported Models
Casbin 支持以下访问控制模型和模式。如果不确定需要哪一种,先看 选择访问控制模型。
- ACL (访问控制列表)
- 带有超级用户的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 匹配:按 IP 地址或 CIDR 匹配,做网络层面的控制。
- 拒绝优先:同时有允许和拒绝策略,拒绝优先于允许。
- 优先级:策略规则有先后顺序(类似防火墙规则),第一条匹配的生效。
Comments are powered by giscus and GitHub Discussions. They load from giscus.app and GitHub only after you click the button below.