| 1234567891011121314151617181920212223242526 |
- [request_definition]
- # 权限查询请求定义
- # 请求主体 sub:谁在请求?张三还是李四?
- # 所在域 dom:在哪个组织下面?「圣典翻译团队 A」?还是「圣典翻译团队 B?」
- # 请求对象 obj:请求什么?模板?项目?项目译文?
- # 请求操作 act:修改?删除?新增?
- r = sub, dom, obj, act
- [policy_definition]
- # 策略定义,与请求参数一致
- p = sub, dom, obj, act
- [role_definition]
- # 角色分组,一个是用户角色分组,一个是资源角色分组
- # 用户分组,张三隶属于「哪个组织」下面的「哪个小组」?
- g = _, _, _
- # 资源分组,该资源隶属于「哪个组织」下面的「哪个分类(模板、项目、译文)」?
- g2 = _, _, _
- [policy_effect]
- # 判断标准:some 意思是只要有一个结果匹配为真,则结果为真
- e = some(where (p.eft == allow))
- # 匹配器,请求操作 act 支持正则匹配
- [matchers]
- m = g(r.sub, p.sub, r.dom) && g2(r.obj, p.obj, r.dom) && regexMatch(r.act, p.act)
|