我火力数据库结构是这样的:火力地堡安全防范保存数据从其他用户
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