Firestore-用于测试单独表中条目的安全规则

时间:2020-05-16 18:11:30

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

我有一个名为“设计”的收藏。我还有一个名为“用户”的收藏。我有一个名为“ designPermissions”的第三个集合。

designPermissions集合具有一个用于userId的字段和一个用于designId的字段。具有用户ID和外观设计ID的文档授予该用户编辑该外观设计的权限。

我想写一个强制执行此规则的安全规则。

这是我到目前为止所拥有的...

service cloud.firestore {
    match /databases/{database}/documents {


        match /designs/{design} {
            allow create:  if get(/databases/$(database)/documents/users/$(request.auth.uid)).data.designer == true
            allow write, update:  if get(/databases/$(database)/documents/designPermissions/{designPerm}).data.userId==request.auth.uid &&
                                                get(/databases/$(database)/documents/designPermissions/{designPerm}).data.designId==$(design}
        allow read: if true;

       }

   }

}

本质上,如果designPermissions集合中有一个条目,其中包含当前用户的ID和相关设计的designId,则该用户有权对其进行编辑。

0 个答案:

没有答案