2
0

rbac.model.conf 1.0 KB

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