【问题标题】:Firestore security rule read permission if data meets condition如果数据满足条件,Firestore 安全规则读取权限
【发布时间】:2019-10-16 13:35:01
【问题描述】:

如何设置用户只能读取符合条件的数据的安全规则。例如,我有用户集合,并且启用的一些用户字段为真,而其他一些则为假。我希望用户只阅读启用为 true 的文档。

这是我应用的安全规则,但我收到权限被拒绝错误。

service cloud.firestore {
  match /databases/{database}/documents {


    match /users/{user} {
        allow read: if resource.data.enabled != false;

    }

  }
}

【问题讨论】:

  • 您所做的似乎是正确的。一切都是禁止的,除非读取用户的数据,该用户的“启用”字段设置为 false。
  • @Thomas 我将启用的字段设置为 true,即使在所有文档上,但仍然收到错误。
  • 您可以添加您用来访问代码的代码行吗?

标签: node.js firebase firebase-realtime-database firebase-authentication google-cloud-firestore


【解决方案1】:

Firestore 安全规则are not filters;查询限制应该与规则限制相匹配,因此,例如,该规则的查询应该是这样的:

db.collection('users').where('enabled', '==', true).get().then(/*callback*/)

【讨论】:

    猜你喜欢
    • 2019-05-05
    • 1970-01-01
    • 1970-01-01
    • 2019-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-22
    • 2018-07-07
    相关资源
    最近更新 更多