【发布时间】:2021-06-24 11:48:41
【问题描述】:
大家好,我需要帮助以使用户能够阅读所有内容但不能写作。并允许管理员读写所有内容。
我有带有文档的用户集合,每个文档都有角色,如果它是管理员帐户,它会说角色 = 'admin' 否则它会说'常规'
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read: if true;
allow write: if get(/databases/users/documents/users/$(request.auth.uid)).data.role == 'admin';
}
}
}
我写了这个,但它没有解决任何问题
---------更新----------
这对我来说是一个修复,谢谢。
get(/databases/$(database)/documents/users/$(request.auth.uid))
但我仍然无法从客户端做任何事情。 我用游乐场模式检查了控制台,规则实际上很好,如果它的管理员 uid 则返回 true。我猜这是客户端问题,因为它可能不读取 uid。知道如何解决吗?
【问题讨论】:
标签: firebase google-cloud-firestore firebase-authentication firebase-security