Firebase 规则不起作用



我正在学习Firebase安全教程。

我有这个简单的结构:

 - requests
     - request_id: {...}
     - request_id: {...}
     ...

我的安全规则:

{
    "rules": {       
      "requests": {
        ".indexOn": ["id_company_owner", "id_app_user"],
        "$request_id": {
          // only request from the last ten minutes can be read
          ".read": "data.child('timestamp').val() > (now - 600000)",
        }
      }
    }
}

我现在想要的规则就是让我的请求可读。但是我已经在 $request_id 的内部(而不是外部)对此进行了处理,但没有请求是可读的;即使请求的时间戳少于 10 分钟前。有人可以解释为什么吗?

如果不查看实际数据,很难分辨,但Firebase安全规则是全有或全无的。Firebase 安全规则不会过滤数据。

也就是说,如果您尝试将侦听器附加到/requests,并且由于安全规则而不允许读取单个项目,则无法读取它们。您需要侦听单个项目或重构数据,以完成此"筛选"行为。

最新更新