组件分享之后端组件——基于Golang的访问控制库casbin
背景
近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。
组件基本信息
- 组件:casbin
- 开源协议:Apache-2.0 License
内容
之前给大家分享了认证全套模块Casdoor,今天我们再进行分享一个类似组件模块casbin,Casbin 是一个强大高效的 Golang 项目开源访问控制库。它支持基于各种访问控制模型执行授权。
Casbin支持以下语言进行集成使用:
image.png
支持的类型
- ACL(访问控制列表)
- 具有超级用户的 ACL
- ACL without users:对于没有身份验证或用户登录的系统特别有用。
- 没有资源的 ACL
write-article:某些方案可能通过使用诸如,之类的权限来针对一种资源而不是单个资源read-log。它不控制对特定文章或日志的访问。- RBAC(基于角色的访问控制)
- 具有资源角色的 RBAC:用户和资源都可以同时具有角色(或组)。
- 带有域/租户的 RBAC:用户可以为不同的域/租户拥有不同的角色集。
- ABAC(基于属性的访问控制):语法糖类
resource.Owner可用于获取资源的属性。- RESTful:支持路径,如
/res/*,/res/:id和 HTTP 方法,如GET,POST,PUT,DELETE.- Deny-override:同时支持允许和拒绝授权,拒绝覆盖允许。
- 优先级:可以像防火墙规则一样对策略规则进行优先级排序。
本文声明:
88x31.png
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
Casbin是一个强大的Golang访问控制库,支持ACL、RBAC、ABAC等多种访问控制模型。它可以用于前端、后端组件的权限管理,包括路径和HTTP方法的细粒度控制。此外,Casbin还支持策略优先级排序和拒绝授权功能,适用于多种应用场景。
647

被折叠的 条评论
为什么被折叠?



