前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >工具系列 | Casbin 中 ABAC 的使用方法

工具系列 | Casbin 中 ABAC 的使用方法

作者头像
Tinywan
发布2023-03-08 20:01:40
7520
发布2023-03-08 20:01:40
举报
文章被收录于专栏:开源技术小栈开源技术小栈

Casbin 中 ABAC 的使用方法

PHP-Casbin是一个强大的、高效的开源访问控制框架,它支持基于各种访问控制模型的权限管理。

ABAC基于属性的访问控制,可以使用主体、客体或动作的属性,而不是字符串本身来控制访问。

ABAC的官方实例如下:

代码语言:javascript
复制
[request_definition]
r = sub, obj, act

[policy_definition]
p = sub, obj, act

[policy_effect]
e = some(where (p.eft == allow))

[matchers]
m = r.sub == r.obj.owner

这是r.obj类的定义:

代码语言:javascript
复制
$data1 = new \stdClass();
$data1->name = 'data1';
$data1->owner = 'alice';

$data2 = new \stdClass();
$data2->name = 'data2';
$data2->owner = 'bob';

然后使用决策器进行决策:

代码语言:javascript
复制
$e->enforce('alice', $data1, 'read');  // true
$e->enforce('alice', $data2, 'read');  // false

$e->enforce('bob', $data1, 'read');  // false
$e->enforce('bob', $data2, 'read');  // true
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-04-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源技术小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Casbin 中 ABAC 的使用方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档