Lui*_*uis 4 android firebase firebase-security google-cloud-firestore
我正在努力寻找一种解决方案,以防止客户在他们在 Firestore 中具有写访问权限的文档中创建带有值的随机字段。由于您无法像使用实时数据库那样限制对 Firestore 中单个字段的访问,因此这似乎很难实现。
一个解决方案可能是不允许创建字段而只让客户端更新字段,但这意味着您必须为文档预先创建字段,这在我看来并不是一个好的解决方案,尤其是如果您每个用户都有文档,这是动态创建的并且必须使用云函数来预创建文档中的字段似乎是不合理的。
有没有人有更好的解决方案?
正如 Firebase Firestore 文档中所说,您实际上可以阻止或允许在某些字段中写入或读取。这可以通过添加类似于此的规则来实现:
match /collection/{doc} {
allow update: if request.resource.data.field == resource.data.field;
}
Run Code Online (Sandbox Code Playgroud)
这将基本上检查该特定字段在更新后是否具有完全相同的值。您还可以添加规则来检查请求的值是否在一个范围之间或等于(您的预定义值)。
allow update: if request.resource.data.field > 0 && request.resource.data.field > 100;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1196 次 |
| 最近记录: |