我有两个收藏夹:
私人书
公共书
我希望只有授权用户(使用帐户登录)和admin才能通过admin(node.js)和private_books(所有子类别)访问public_books(所有子类别)。
我该如何实现?我是Firebase的新手。
当前Firestore处于测试模式,任何人都可以访问这些集合。
编辑:因为不需要为Firebase管理员添加规则。我想要public_books
集合的安全性规则,以便没有人可以编辑或更改此集合,而我想要private_books
集合的另一种不同的安全性规则,以便只有授权用户才能查看此集合。
答案 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; } } }
只需用您的收藏名称替换“城市”即可。