如何防止用户在mongodb中查看集合中的所有数据?

时间:2015-12-16 10:47:35

标签: mongodb express

我正在编写一个具有单独用户的应用程序。

假设我有两个角色为“医生”的用户,这些医生都有病人。两名患者都在收集“数据”中具有个人数据,并且只能由相应的医生查看。

所以我有两个系列:

  • 用户:包含4个用户。 2角色'医生'和2角色'病人'
  • 数据:包含2名患者的个人资料,只能由患者的医生查阅。

我怎样才能在mongodb中实现这一点,而不必每次都要查询数据(我的患者的个人数据),以检查是否是我的医生。

我使用expressJs作为webapi与我的mongodb交谈。

1 个答案:

答案 0 :(得分:0)

根据API的结构方式,node_acl之类的模块可以适合。根据每个用户角色(医生/患者),您可以限制对某些资源的访问。

我在我的应用程序中使用了这个模块,用户可以在其中拥有角色admin / user,即使是维护,它也非常简单。

关于部分"只有相应的医生才能访问它自己的患者数据"您将不得不使用路由中间件来检查该医生是否可以访问该患者的数据(这将是一个mongodb查询)。