不同角色的Firestore安全规则不起作用

时间:2018-06-01 07:01:00

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

我一直在尝试将角色集成到我的应用程序中,该应用程序有6个不同的集合,我没有使用子集合的概念 我在我的应用程序中使用的firebase版本是版本4.12.1

我拥有的6个系列 1个造型师 2次预订 3客户 4 service_men 5 service_women 6 service_children

我有两个角色 1)所有者(造型师中的一个) - 能够对所有收藏品进行粗暴操作 2)客户能够使用"客户收集&预订系列"(仅限他的记录),&与其他馆藏一起阅读。

所以我已经包含了像这样的造型师系列中的所有者的角色(尝试了3种方式但没有效果) - 如下面的屏幕截图所示, firestore role

我的规则是让他为造型师预订进行粗暴操作如下 我的网络应用程序上的权限错误不足,我的android和IOS应用程序因为这些规则而崩溃, 有人可以在这里指导,提前谢谢

service cloud.firestore {
   match /databases/{database}/documents {
     match /stylist/{stylist} {
             function isSignedIn() {
             return request.auth != null;
             }
             console.log('passing',auth),
             function getRole(rsc) {
             // Read from the "roles" map in the resource (rsc).
              return rsc.data.roles[request.auth.uid];
             }
             function isOneOfRoles(rsc, array) {
              // Determine if the user is one of an array of roles
              return isSignedIn() && (getRole(rsc) in array);
             }
             function isValidNewStylist() {
              // Valid if story does not exist and the new story has the correct owner.
              return resource == null
               && request.resource.data.roles[request.auth.uid] == 'owner';
               }
             allow read: if isOneOfRoles(resource,
                ['owner', 'customer']);

        }
    }
}

0 个答案:

没有答案