【发布时间】:2018-08-26 22:07:07
【问题描述】:
我正在尝试在具有一些嵌套动态子节点的数据模型中实施 Firebase 规则读取限制。
我有以下数据模型:
/groupMessages/<groupId>/<messageId>/
{
"senderId": "<senderId>",
"recipientId": "<recipientId>",
"body": "..."
}
groupId、messageId、senderId 和 recipientId 是动态 id。我想在 /groudId 节点上附加一个监听器来监听新消息。同时我只希望用户阅读senderId或receiverId与相应的auth.token值匹配的消息。
由于 Firebase 级联规则,如果我允许在 groupId 级别不受限制地读取,我不能在消息级别拒绝它们。
{
"rules": {
"groupMessages"
"$groupId": {
".read": "auth != null"
}
}
}
}
我还没有找到一种方法来限制 groupId 级别的读取规则以检查消息的发件人/收件人 ID。
非常感谢任何建议。
【问题讨论】:
标签: firebase firebase-realtime-database firebase-security