规则集保护用户的条目,如下所示:
规则看起来像这样:
match /users/{userId} {
allow read: if isCurrentUser(userId) || isAdmin();
allow write: if (isCurrentUser(userId) && !isModifyingPermissions()) || isAdmin();
function isModifyingPermissions(){
return request.resource.data['permissions'] != null;
}
}
我被isModifiyingPermissions()
函数卡住了。如果请求具有permissions
属性值,它会正确地拒绝写入。但是,如果未提供permissions
属性,则规则将崩溃,并说明以下情况:
Error: simulator.rules line [19], column [15]. Property permissions is undefined on object.
如何写“检查请求资源上的属性的存在”?
发布于 2018-08-09 22:31:45
好的,这就是解决方案:
function isModifyingPermissions(){
return request.resource.data.keys().hasAny(["permissions"]);
}
https://stackoverflow.com/questions/51769592
复制相似问题