Casbin

Casbin

  • 文档
  • API
  • 编辑器
  • IDE 插件
  • Single Sign-On (SSO)
  • 论坛
  • 帮助
  • 博客
  • Languages icon中文
    • English
    • 한국어
    • Русский
    • Français
    • 日本語
    • 参与翻译
  • GitHub

›Model

基础知识

  • 概述
  • 开始使用
  • 工作原理
  • 教程

Model

  • 支持的Models
  • Model语法
  • 效果器
  • 函数
  • 基于角色的访问控制
  • RBAC with Pattern
  • 域内RBAC
  • Casbin RBAC v.s. RBAC96
  • ABAC
  • 优先级模型
  • 超级管理员

存储

  • Model存储
  • Policy存储
  • 政策子集加载

扩充功能

  • Enforcers
  • 适配器
  • 观察者
  • 调度器
  • 角色管理器
  • 中间件
  • Graphql 中间件
  • 云端原生中间值

API

  • API 概述
  • 管理 API
  • RBAC API
  • 域内基于角色的访问控制 API
  • RoleManager API
  • 数据权限

高级用法

  • 多线程
  • 基准测试
  • 性能优化
  • Kubernetes的授权
  • 通过特使核准服务网格。

管理

  • 管理员门户
  • Casbin 服务
  • 日志 & 错误处理
  • 前端使用

编辑器

  • 在线编辑器
  • IDE 插件

更多

  • 本项目使用者
  • 贡献中
  • 隐私政策
  • 服务条款
Translate

Casbin RBAC v.s. RBAC96

Casbin RBAC和RBAC96

在这个文档中,我们会比较Casbin RBAC与 RBAC96的区别。

Casbin RBAC支持RBA96的几乎所有特点,并在此基础上增加了新的特点。

RBAC版本支持级别说明
RBAC0完全支持RBAC0是RBAC96的基本版本。 它澄清了使用者、角色和权限之间的关系。
RBAC1完全支持Casbin 的 RBAC 支持 RBAC1 的角色层次结构功能,如果 alice具有role1, role1具有role2,则 alice 也将拥有 role2 并继承其权限。
RBAC2支持相互专用处理(示例),但量化限制不是RBAC2在RBAC0的基础上添加了约束 因此,RBAC2可以处理政策中相互排斥的问题。
RBAC3支持相互专用处理(示例),但量化限制不是RBAC3是RBAC1和RBAC2的组合。 RBAC3支持RBAC1和RBAC2中的角色等级和制约因素。

Casbin RBAC和RBAC96之间的差异

  1. 在Casbin,用户和角色之间的区分不明确。

    在Casbin中,用户和角色都被视为字符串。 如果您写了类似于以下的策略文件:

    p, admin, book, read
    p, alice, book, read
    g, amber, admin
    

    并调用方法 GetAllSubjects() 就像这样(e 是一个Casbin Enforcer的实例):

    e.GetAllSubjects()
    

    然后您将得到下面的返回值:

    [admin alice bob]
    

    因为在Casbin,主体包括用户和角色。

    然而,如果你调用方法 GetAlloles() 就像这样:

    e.GetAlloles()
    

    然后您将得到下面的返回值:

    [admin]
    

    现在你知道卡斯宾的用户和角色之间有区别,但并不像RBAC96那样尖锐。 当然,您可以为您的政策添加一些前缀,如 user::alice, role::admin 以澄清他们之间的关系。

  2. Casbin RBAC比RBAC96提供了更多的权限

    RBAC96中只定义了7个权限:读、写、添加、执行、信贷、借记、查询。

    然而,在Casbin中,我们将权限视为字符串。 这种方式,您可以创建一些更适合您的权限。

  3. Casbin RBAC支持域

    在 Casbin 中,您可以通过域名进行授权。 此功能使您的访问控制模型更加灵活。

← 域内RBACABAC →
  • Casbin RBAC和RBAC96
  • Casbin RBAC和RBAC96之间的差异
Casbin
Docs
Getting StartedManagement APIRBAC APIMiddlewares
Community
Who's using Casbin?Stack OverflowDeploys by Netlify
Casbin          jCasbin
Node-Casbin   PHP-CasbinPyCasbin          Casbin.NETCasbin-CPP        Casbin-RS
Follow @casbinHQ
Copyright © 2022 Casbin Organization