ACL文档数据库

时间:2019-05-24 12:55:20

标签: mongodb acl

这是一个比其他概念上更多的问题。我想知道是否有最佳做法,我在哪里可以读到它,也不知道如何向Google提出要求。

我正在为mongodb数据库建模。假设我们有一个chair集合,该集合必须与user的集合分开保存,因为一把椅子可以由多个用户拥有和访问。这就提出了访问控制列表的问题。通常,在其他项目中,我习惯于定义用户集合的权限:

{
  _id: 5ce3f94a6591bd5a3accd22e,
  permissions: [
    {
      collection: 'chairs',
      path: 'serialNumber',
      allowedValues: /^AU-1234-.*/ig,
      roles: ['read']
    }
  ]
}

这样,我们可以授予用户访问其以serialNumber开头的每把椅子的权限。

现在我想知道用允许的用户定义椅子是否不是更好的方法:

1234

这与UNIX文件系统更相似,在该文件系统中,任何文件都有其所有者和组,并且每个用户可以属于多个组。在mongodb中有意义吗?

我已经看到{ _id: ..., serialNumber: 'AU-1234-567', allowedUsers: [{ user: 5ce3f94a6591bd5a3accd22e, roles: ['read'], }, ... ] } 模块保留了单独的集合,以便授予用户对资源的访问权限,但它似乎是一个杀手级的解决方案,难以维护。有什么建议还是acl

0 个答案:

没有答案