如何在firestore.rules文件中设置安全规则?

时间:2019-07-07 07:57:42

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

我有两个收藏夹:

  • 私人书

  • 公共书

我希望只有授权用户(使用帐户登录)和admin才能通过admin(node.js)和private_books(所有子类别)访问public_books(所有子类别)。

我该如何实现?我是Firebase的新手。

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

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

1 个答案:

答案 0 :(得分:0)

您无需使用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;
    }
  }
}

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