我正在关注Firebase security tutorial。
我有这个简单的结构:
- 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分钟。有人可以解释原因吗?
答案 0 :(得分:1)
在不查看实际数据的情况下很难说,但Firebase安全规则是全有或全无。 Firebase安全规则不过滤数据。
也就是说,如果您尝试将侦听器附加到/requests
,并且由于安全规则,甚至不允许读取单个项目,则不能读取任何内容。您需要倾听单个项目或重组数据,以实现此目标"过滤"行为。