Skip to content
marstone edited this page Mar 25, 2020 · 3 revisions

概述

  • 权限控制,由两部分构成:
    • Triple:描述主语的构成和管辖(审批)范围
    • ACL:描述主语与宾语的关系

Triple/三元组

Triple:(User,Post,Dept)

  • 描述(用户、岗位、部门)的三元关系
  • 对于身份岗,部门的含义是“归属于”;对于管理岗,部门的含义是“可审批”

Extension:(Triple,BizType,BizCode)

  • 进一步的描述用户“可审批”的“业务类型”。
    • 比如 (小明,外事秘书,计算机系,出国团组类型,教师团)的含义是:
      • 小明作为外事秘书可审批计算机系教师团的出国类业务。

ACL/访问控制列表

  • 通过 (主,谓,宾)结构描述“谁”(主)可以对“什么数据”(宾)“做什么”(谓)
  • 多条ACL之间是 "或" 的关系,即有一条ACL "允许" 即跳过其他 ACL 检查
    • 注:目前只有 "允许" 规则没有 "拒绝" 规则,所以暂不考虑 ACL 的顺序

主语:Triple

  • 主语即三元组的某种组合

谓语:GraphQL Operation

  • 即, Query/Mutation 的函数名

宾语:GraphQL Type + [ Filter ]

  • 即,类型 + 一组 限定,其中:

Type

Filter

Clone this wiki locally