【发布时间】:2018-10-23 01:43:17
【问题描述】:
我有一个简单的 Firestore 规则:
allow update: if request.resource.data.reservedBy == resource.data.reservedBy;
我在模拟器中的payload是
{"name":"/databases/(default)/documents/books/I3dbzzwGJGXnqMQBOxoP","data":{"reservedBy":"Ivanko"}}
方法是“更新”。 'reservedBy'字段的值与实际记录完全不同。
无论我做什么,无论我将有效负载更改为什么,规则将始终返回 true 并允许更新。这是一个错误还是我错过了什么。有趣的是,如果我将“更新”更改为“创建”,则规则按预期工作。其他人遇到过这个吗?
谢谢。
【问题讨论】:
-
已知模拟器存在错误。这适用于实际更新吗?
-
有意思,没测试过。我的前端反映了这条规则,所以检查起来有点棘手。我将编写几个手动测试并进行报告。
标签: firebase google-cloud-firestore firebase-security