Jem*_*Jem 6 firebase firebase-security google-cloud-firestore
规则集保护用户的条目,如下所示:
规则看起来像:
match /users/{userId} {
allow read: if isCurrentUser(userId) || isAdmin();
allow write: if (isCurrentUser(userId) && !isModifyingPermissions()) || isAdmin();
function isModifyingPermissions(){
return request.resource.data['permissions'] != null;
}
}
Run Code Online (Sandbox Code Playgroud)
我被这个isModifiyingPermissions()功能困住了。如果请求具有permissions属性值,它会正确拒绝写入。但是,如果未permissions提供任何属性,则规则会崩溃,并说明以下内容:
Error: simulator.rules line [19], column [15]. Property permissions is undefined on object.
Run Code Online (Sandbox Code Playgroud)
如何编写“检查请求资源上是否存在属性”?
好的,这是解决方案:
function isModifyingPermissions(){
return request.resource.data.keys().hasAny(["permissions"]);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1206 次 |
| 最近记录: |