think-casbin icon indicating copy to clipboard operation
think-casbin copied to clipboard

多租户报错grouping policy elements do not meet role definition

Open xxi-arch opened this issue 3 years ago • 5 comments

` grouping policy elements do not meet role definition [request_definition] r = sub, dom, obj, act

[policy_definition] p = sub, dom, obj, act

[role_definition] g = _, _, _

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

[matchers] m = g(r.sub, p.sub, r.dom) && r.dom == p.dom && r.obj == p.obj && r.act == p.act

// 设置角色权限 Casbin::addPolicy('zzyRole','1', 'data1', 'filed', 'read'); // 设置用户角色 Casbin::AddRoleForUser('zzy','zzyRole','1');

`

AddRoleForUser 方法node版是有最后一个参数的

https://github.com/casbin/node-casbin/commit/e876217bcf4e352fc73bd98949c74812661c0e47

xxi-arch avatar Aug 17 '20 08:08 xxi-arch

Go版是没有的 :https://github.com/casbin/casbin/blob/aabe6ce12e01f726e1fdc8182aafcff3a3902697/rbac_api.go#L54 你可以提向主库PHP-Casbin提 issue或PR。

leeqvip avatar Aug 17 '20 15:08 leeqvip

另外 addPolicy传的参数 和 定义的参数个数(r = sub, dom, obj, act) 不一致

leeqvip avatar Aug 17 '20 15:08 leeqvip

$casbin->addRoleForUserInDomain

wangjiagithub2019 avatar Nov 29 '20 15:11 wangjiagithub2019

@544751779 $casbin->addRoleForUserInDomain() 这个是正解,如果解决了可以关掉哈~

hsluoyz avatar Feb 12 '21 12:02 hsluoyz

还有一种情况也会出现这个错误。比如,rules表中已经有了数据,然后修改了lauthz.php中model的配置config_file_path或者config_text,然后再去添加策略的时候,就会遇到这个错误

oknixus avatar Mar 27 '23 02:03 oknixus