2015-11-03 122 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身份驗證自動創建的用戶節點/分支。什麼是$用戶?顯然是一種變量,但是如何映射到用戶節點?這沒有解釋清楚。不過謝謝。 –