组件分享之后端组件——基于Golang的访问控制库casbin

组件分享之后端组件——基于Golang的访问控制库casbin

背景

近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。

组件基本信息

  • 组件:casbin
  • 开源协议:Apache-2.0 License

内容

之前给大家分享了认证全套模块Casdoor,今天我们再进行分享一个类似组件模块casbin,Casbin 是一个强大高效的 Golang 项目开源访问控制库。它支持基于各种访问控制模型执行授权。
Casbin支持以下语言进行集成使用:

image.png

支持的类型

  1. ACL(访问控制列表)
  2. 具有超级用户的 ACL
  3. ACL without users:对于没有身份验证或用户登录的系统特别有用。
  4. 没有资源的 ACLwrite-article :某些方案可能通过使用诸如,之类的权限来针对一种资源而不是单个资源read-log。它不控制对特定文章或日志的访问。
  5. RBAC(基于角色的访问控制)
  6. 具有资源角色的 RBAC:用户和资源都可以同时具有角色(或组)。
  7. 带有域/租户的 RBAC:用户可以为不同的域/租户拥有不同的角色集。
  8. ABAC(基于属性的访问控制):语法糖类resource.Owner可用于获取资源的属性。
  9. RESTful:支持路径,如/res/*/res/:id和 HTTP 方法,如GET,POST,PUT,DELETE.
  10. Deny-override:同时支持允许和拒绝授权,拒绝覆盖允许。
  11. 优先级:可以像防火墙规则一样对策略规则进行优先级排序。
本文声明:

88x31.png

知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

你可能感兴趣的:(组件分享之后端组件——基于Golang的访问控制库casbin)