【问题标题】:How to prevent a user from seeing all data in a collection in mongodb?如何防止用户在 mongodb 中查看集合中的所有数据?
【发布时间】:2015-12-17 19:07:46
【问题描述】:

我正在编写一个拥有不同用户的应用程序。

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

所以我有 2 个收藏:

  • users:包含4个用户。 2 角色为“医生”,2 角色为“患者”
  • 数据:包含 2 位患者的个人数据,只能由患者的医生访问。

如何在 mongodb 中实现这一点,而不必每次都查询数据收集(包含我的患者的个人数据)来检查它是否是我的医生的患者。

我正在使用 expressJs 作为 webapi 与我的 mongodb 对话。

【问题讨论】:

    标签: mongodb express


    【解决方案1】:

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

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

    关于“只有相应的医生可以访问其自己的患者数据”部分,您必须使用路由中间件来检查该医生是否可以访问该患者的数据(这将是一个 mongodb 查询)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-21
      • 2018-07-28
      • 1970-01-01
      • 1970-01-01
      • 2021-08-12
      • 2020-02-14
      • 2020-04-29
      • 1970-01-01
      相关资源
      最近更新 更多