1

我从链接中阅读了这篇文章,并了解有 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组下,我该如何实现呢?

4

0 回答 0