gpt4 book ai didi

Firebase:如何防止在firestore中写入特定字段?

转载 作者:行者123 更新时间:2023-12-02 21:32:02 25 4
gpt4 key购买 nike

规则集保护用户的输入,如下所示:

  • 只有他或管理员可以读取他的数据
  • 只有管理员才能更新用户的权限
  • 用户可以更新他的所有数据,除非他设置权限对象

规则如下:

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,它会正确拒绝写入。属性(property)。但是,如果没有permissions,该规则就会崩溃。提供了属性,并说明以下内容:

Error: simulator.rules line [19], column [15]. Property permissions is undefined on object.

如何编写“检查请求资源上属性的存在”?

最佳答案

好的,解决方案如下:

  function isModifyingPermissions(){
return request.resource.data.keys().hasAny(["permissions"]);
}

关于Firebase:如何防止在firestore中写入特定字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51769592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com