我火力數據庫結構是這樣的:火力地堡安全防範保存數據從其他用戶
database
- chat
-user1
-user2
-chat1
-message : a
-user2
-user1
-chat1
-message : a
-user3
-chat1
-message : a
-user3
-user2
-chat1
-message : a
的問題是,我該如何阻止用戶(如果USER1)寫的聊天消息user2的從user3。
例如:
林USER1與的JavaScript命令上面
firebase.database().ref("chat/user2/user3/chat2").set({
message: "HAHA"
});
司令部說,我作爲USER1從用戶3寫入新的聊天的用戶2有消息「HAHA」。我想通過Firebase規則來防止這種情況。有人可以幫助我如何編寫規則並簽署方法,我應該使用?
謝謝。
感謝您的回答,先生,但現在的問題是,UID並非來自火力用戶的UID genereated ..這是來自用戶(用戶名)的字符串。我可以比較senderUid與用戶指定的字符串?我認爲我現在不能重組數據庫..超過500人已經使用它,我不能刪除所有這些聊天.. – RaiN
爲了保護對特定用戶的數據訪問,您必須在安全規則中有某種方式才能關聯具有特定用戶的節點。這隻能通過'auth'變量來完成。最常用的屬性是'auth.uid'。除非你在製作自定義標記,否則你的「用戶名」將不會是auth變量的一部分,所以根據它不可能保證訪問的安全。 –
auth.token.name如何?先生,我可以使用那個嗎? – RaiN