基于资源的权限设计

todo: 补充(调整)细节

基本定义

资源

需要控制操作权限的任意东西

动作

对资源的操作(CRUD)。

动作是权限的最小粒度,权限系统的核心是控制动作。

组织

资源的所有者。

树形结构,父组织自动获取子组织的资源权限。

衍生定义

用户

动作的发起方,需要进行鉴权。

用户是组织的成员,可以属于一个或多个组织。

角色

角色是组织所有动作集合的子集,是为了简化授权操作而创建的动作视图,用以给用户进行批量授权。角色是一维属性,各个角色之间相互独立。

两类基本角色:

  1. 管理员(拥有组织所有的动作权限,可以管理其他角色)
  2. 其他

权限管理

授权

输入:动作、资源、人员(组织)

输出:权限数据

鉴权

输入:动作、资源、人员(组织)

输出:Boolean,动作“通过”或者“拒绝”