Ray*_*kai 6 firebase firebase-security google-cloud-firestore
假设有两个文件
/orgs/foo
/users/alice
Run Code Online (Sandbox Code Playgroud)
和/users/alice具有基准型场org其引用/orgs/foo.
/orgs/foo应该是可以访问的request.auth.uid == 'alice'.我怎样才能做到这一点?
我想这是这样的,但我无法弄明白.换句话说,我如何获取引用文档的ID?
function isOrgMember(orgId) {
return get(/databases/$(database)/documents/users/$(request.auth.uid)).data.org.__id__ == orgId;
}
match /orgs/{orgId} {
allow read: isOrgMember(orgId);
}
Run Code Online (Sandbox Code Playgroud)
小智 2
我知道距离最初的问题已经有一段时间了,但我遇到了类似的问题,我希望这可以帮助您或其他人。
你的条件是:
get(/databases/$(database)/documents/users/$(request.auth.uid)).data.org.__id__ == orgId;
But是一个参考,这(显然)意味着您也org需要它。get尝试这个:
get(get(/databases/$(database)/documents/users/$(request.auth.uid)).data.org).id == orgId;