2015-11-03 124 views
3

我想对我的数据限制.remove()方法 - 只允许作者/创建者删除节点。这可能吗?.remove()方法的Firebase安全规则

我有标准的用户树和一对数据树geoFire和一个命名的细节。 '详细信息'包含节点,其中包含时间戳和用户(与auth.uid匹配)等条目。

回答

5

一个删除火力地堡意味着你编写没有/空数据,当前包含数据的位置:

".write": "!data.exists() || newData.exists()" 

快速表,以确保我得到了所有的人:

data.  newData. 
exists() exists() .write 
--------+---------+-------- 
false  false  true 
false  true  true 
true  false  false 
true  true  true 
+0

谢谢坦率。如果我有'name','age'和'user'子节点的'details',其中user = authData.uid,那么我只需将规则放在我的“详细信息”中:{在Security and Rules中?如果我希望当前用户(通过auth.uid)能够.remove(),我可以说写:“auth.uid === data.child('user')。val()”? –

+0

请阅读安全和规则快速入门指南:https://www.firebase.com/docs/security/ –

+0

当然,我已经做到了。通过登录用户保护记录的唯一例子是通过Firebase身份验证自动创建的用户节点/分支。什么是$用户?显然是一种变量,但是如何映射到用户节点?这没有解释清楚。不过谢谢。 –