我从链接中阅读了这篇文章,并了解有 3 种定义能力的方法。但我不知道将它们组合在一起。例如,
在上面的三个结构中,我想限制一些用户可以读/写/创建组,所以我选择使用 JSON 对象来定义能力如下:
"permissions": [
{
"action": "Read",
"subject": "Group"
},
{
"action": "Create",
"subject": "Group"
}
]
每个用户都有不同的权限并存储在数据库中,以便我可以通过 in 将其从数据库中读取出来const ability = new Ability(user.permission.rules);
然后使用ability.can(Action.Read, 'Group')
。
但是,我不知道如何在“使用 JSON 对象”时添加更多的业务规则。例如,F组的用户只能读取F组,I和J,因为I和J在F组下,我该如何实现呢?