【问题标题】:How to set security rules in firestore.rules file?如何在 firestore.rules 文件中设置安全规则?
【发布时间】:2019-07-07 07:57:42
【问题描述】:

我有两个收藏:

  • private_books

  • public_books

我希望 public_books(其所有子类别)只能由管理员(node.js)和 private_books(所有子类别)访问,供授权人员(使用帐户登录)和管理员两者使用。

我怎样才能做到这一点?我是 Firebase 的新手。

目前 Firestore 处于测试模式,任何人都可以访问这些集合。

编辑:因为不需要为 firebase 管理员添加规则。我想要public_books 集合的安全规则,以便没有人可以编辑或更改此集合,并为private_books 集合提供另一个不同的安全规则,以便只有授权用户才能查看此集合。

【问题讨论】:

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


    【解决方案1】:

    您无需为使用 Firebase Admin SDK 的服务器端代码的访问编写任何规则。无论您在规则中写什么,它都将始终拥有对所有内容的完全访问权限。

    documentation 为您提供了要求身份验证才能访问集合中的文档的说明。从该链接复制:

    最常见的安全规则模式之一是控制访问 基于用户的身份验证状态。例如,您的应用可能 希望只允许登录用户写入数据:

    service cloud.firestore {
      match /databases/{database}/documents {
        // Allow the user to access documents in the "cities" collection
        // only if they are authenticated.
        match /cities/{city} {
          allow read, write: if request.auth.uid != null;
        }
      }
    }
    

    只需将“城市”替换为您收藏的名称即可。

    【讨论】:

    • 这仅适用于一个集合,如果我们有多个集合,每个集合具有不同的规则但位于同一目录下,如何执行此操作?
    • 我不确定你在问什么。您能否编辑问题以更具体地说明您要解决的问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-15
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    • 2020-06-19
    • 2021-01-12
    • 2019-04-26
    相关资源
    最近更新 更多