【发布时间】:2017-08-03 10:50:12
【问题描述】:
我有一个沿着这条线的东西的火力基础结构 -
root {
groups {
gid: { //group ID
authid: ... //group creator's uid
members: { //uid of members
...
}
posts: {
... //posts ID
}
}
}
}
我想要这些功能 -
- 任何用户都可以创建新组。这意味着我需要向所有授权的人授予对“/groups/”的写入权限。但他们不应将 null 设置为整个节点。所以,我可以做到这一点
".write":"(!data.exists() && auth.uid != null) || (data.exists() && newData.exists()" -
只有作者可以删除单个组。这意味着我需要 授予作者将单个组节点设置为 null 的权限。这是我卡住的部分。因为,较浅的规则会覆盖较深的规则。所以,如果我只是写
“组”:{ "$gid": { ".write":"!newData.exists() && data.child('authid').val() === auth.uid" } }
这将被完全忽略。
我不希望任何人,甚至作者将 null 设置为组内的各个节点。这意味着作者可以删除整个组,但不能删除成员节点
【问题讨论】:
标签: json firebase firebase-realtime-database firebase-security