通常我们看到的权限体系都是 用户-角色 模式,这样太局限了,如果还有其他权限控制需求了,比如微服务之间是否有权限访问,因此,设计一种【抽象】的权限控制体系才能因对各种业务需求,这里我们就定义一种重新的权限体系,具体请查看数据库设计中关于权限体系的设计
术语
permission
一个比较好的理解方式:一个subject(比如user)对于target(比如文件)有某些action(比如read)权限
subject
A subject may be any entity, such as a person or a service
target
permission 作用的对象,比如用户对文件拥有read权限,在这里文件就是作用对象
action
对于文件来说,有read,write等action
subject group
当subject是用户时,subject group 可能就是role