为了账号安全,请及时绑定邮箱和手机立即绑定

是否可以在 casbin 中按模式将 p.obj 与角色匹配?

是否可以在 casbin 中按模式将 p.obj 与角色匹配?

Go
心有法竹 2022-10-24 09:05:28
这是我正在使用的 model.conf:[request_definition]r = sub, obj, act[policy_definition]p = sub, obj, act, eft[role_definition]g = _, _g2 = _, _[policy_effect]e = some(where (p.eft == allow)) && !some(where (p.eft == deny))[matchers]m = g(r.sub, p.sub) && g2(r.obj, p.obj) && regexMatch(r.act, p.act)这是相关政策(用户可以阅读自己的帖子,管理员可以阅读所有帖子。):p, admin, /posts/:id/attachments, GET, allowp, alice, /posts/1/attachments, GET, allowg, bob, adming2, /files/1.jpg, /posts/1/attachments这些请求的结果预计为true:alice, /files/1.jpg, GETbob, /files/1.jpg, GET目前,我可以通过添加规则使策略生效g, /posts/1/attachments, /posts/:id/attachments,但我想知道是否可以通过模式匹配这些角色名称,这样我就不必为每个帖子创建规则。(我找到的最接近的例子是AddNamedMatchingFunc("g","KeyMatch2",util.KeyMatch2)方法,我尝试在 on 上使用它g2,但它似乎只匹配模式 onr.obj和角色。)
查看完整描述

1 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

不支持的第二个参数g是模式。但这里有一个解决方法,可以使用多个g来产生相同的效果:

g, pattern1, role1
g, role1, pattern2

是相同的:

g, pattern1, pattern2


查看完整回答
反对 回复 2022-10-24
  • 1 回答
  • 0 关注
  • 148 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号