【问题标题】:How can I filter data based on roles in firestore? [duplicate]如何根据 Firestore 中的角色过滤数据? [复制]
【发布时间】:2020-04-27 12:02:31
【问题描述】:

我正在尝试根据用户角色从 Firestore 中的文档中过滤数据。假设我有一个名为 Company 的文档,其中包含名称和帐单信息等数据。我有一个角色为 Employee 的用户,他应该能够访问公司的名称,但不能访问帐单信息。具有 Admin 角色的用户应该能够查看整个数据。

收集中的公司文件:

companyId123: {
  name: "Awesome Company",
  creditCard: "12345678"
}

角色管理员员工的不同访问级别。

是否可以根据用户的角色调整可用的数据? 最佳做法是什么?

【问题讨论】:

    标签: firebase google-cloud-firestore nosql firebase-security


    【解决方案1】:

    在 Firestore 中,无法强制任何给定用户只能部分读取文档中的某些字段。读取的文档是全部或全部。如果您尝试在某些用户可以或看不到的字段之间实现某种隔离,则必须将这些数据拆分为跨多个集合的多个文档。

    因此,如果您有大量关于一家公司的数据应该公开,您可以将这些字段放在名为“companies-public”的集合中的文档中。只有特权用户才能访问的字段可能位于名为“companies-private”的不同集合中。

    您必须根据您的安全要求对实际数据进行建模。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-10
      • 1970-01-01
      • 1970-01-01
      • 2019-08-10
      • 1970-01-01
      相关资源
      最近更新 更多