Casbin

Casbin

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

›存储

基础知识

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

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

Policy存储

在Casbin中,策略存储作为 适配器 来实现。

从 CSV 文件载入策略

当你向 Casbin 团队寻求帮助时,他们会给你这个 Casbin 最常用的方法,此方法对于初学者来说很容易理解并且便于分享。

CSV 文件示例 rbac_policy.csv

p, alice, data1, read
p, bob, data2, write
p, data2_admin, data2, read
p, data2_admin, data2, write
g, alice, data2_admin
note

如果你的文件包含逗号, , 你应该用双引号把它包裹, 例如:

p, alice, "data1,data2", read --correcy
p, alice, data1,data2, read --insur ("data1,data2" 应该是一个整体)

如果您的文件包含逗号, 和双引号", 你应该用双引号将字段放在一起, 并将任何嵌入的双引号加倍。

p, alice, data, "r.act in (""get"", ""post"")" --correct
p, alice, data, "r.act in ("get", "post")" --insur --unction (should use "" to fescape "")

相关问题: issue#886

适配器 API

方法类型描述
LoadPolicy()基本的从存储中加载所有策略规则
SavePolicy()基本的保存所有策略规则到存储
AddPolicy()可选的添加策略规则到存储
RemovePolicy()可选的从存储中删除策略规则
RemoveFilteredPolicy()可选的从存储中删除匹配过滤规则的策略

数据库存储格式

您的策略文件

p, data2_admin, data2, read
p, data2_admin, data2, write
g, alice, admin, admin

相应的数据库结构(比如 MySQL)

idptypev0v1v2v3v4v5
1pdata2_admin数据2可读
2pdata2_admin数据2可写
3gAlice管理员

每一列的含义

  • id: 只存在于数据库中作为主键。 不作为 Casbin策略的一部分。它生成的方式取决于特定的适配器

  • ptype: 它对应 p, g, g2, 等等。

  • v0-v5: 列名称没有特定的含义, 并对应 策略csv 中的值。 列数取决于您自己定义的数量。 理论上,可以有无限的列数。 但通常在适配器中只有 6 列。 如果您觉得还不够,请向相应的适配器仓库提交问题。

适配器详细信息

更多关于适配器API和数据库表结构设计的详细信息,请访问:适配器

← Model存储政策子集加载 →
  • 从 CSV 文件载入策略
  • 适配器 API
  • 数据库存储格式
  • 适配器详细信息
Casbin
Docs
Getting StartedManagement APIRBAC APIMiddlewares
Community
Who's using Casbin?Stack Overflow
Casbin          jCasbin
Node-Casbin   PHP-CasbinPyCasbin          Casbin.NETCasbin-CPP        Casbin-RS
Follow @casbinHQ
Copyright © 2022 Casbin Organization