我一直在尝试将角色集成到我的应用程序中,该应用程序有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']);
}
}
}