假设我有一个像这样的firebase json结构:
"lgbxwerta": {
"xlakshjjsjjh" {
"message_sender":"+23481772233",
"message":"Hello"
},
"lkhshyujshhsjj" {
"message_sender":"+234813237263",
"message":"Hi"
}
}
现在,这是由两个不同的用户(通过其电话号码进行验证)发送到会议室的两条消息,并且该会议室的ID与该会议室中参与者之一的用户ID相同。 如何设置规则以允许用户仅在ID等于其自己的用户ID(用户ID是唯一且动态)的房间中读写。
也就是说,如果房间ID ==“ lgbxwerta”,则用户ID与房间ID相同的任何用户都可以对该房间进行读取或写入。有任何想法吗?相信我,当我阅读本文档时,我只是想不通-https://firebase.google.com/docs/database/security/securing-data
答案 0 :(得分:1)
您应该为此使用通配符。就像变量一样,表示在运行时将有一个动态数据。
"$room_id":
{
//if user logged in allow read and write to him only if his uid is same with the $room_id
".read": "auth != null && $room_id === auth.uid",
".write": "auth != null && $room_id === auth.uid"
}