我想使用 Firebase 实时数据库。我已经创建了我想要的数据结构。您有成员、房间以及它们之间的关系。房间里的每个人都可以互相“交谈”。
json数据结构:
{
members : {
"223dfa323" : {
name : "Test member",
os : "IOS",
date_registered : "2017-02-02",
enabled : true
},
"ddfa33434" : {
name : "Test member 2",
os : "Android",
date_registered : "2017-02-03",
enabled : true
},
"3434" : {
name : "Test member 3",
os : "Android",
date_registered : "2017-02-03",
enabled : true
}
},
rooms : {
"1234" : {
name : "Room 1",
date_created : "2017-02-02",
enabled : true
},
"2312" : {
name : "Room 2",
date_registered : "2017-02-03",
enabled : true
}
},
roommembers : {
"1234" : {
members : {
"223dfa323" : true,
"ddfa33434" : true
}
}
}
}
但是我怎样才能防止其他人访问该数据呢?我怎样才能让成员(member)访问自己的数据?例如,成员(member) 3434 无法访问 1234 号房间,因为它没有与其关联。
其他设备可以访问该数据。
如何在 Firebase 中执行此操作?
最佳答案
您可以使用 firebase 的 security rules 。对于您的情况,这些可能是:
"rules": {
"rooms": {
"$roomID": {
".read": .read": "root.child('roommembers/'+$roomID+'/members/'+auth.uid).exists()"
}
}
}
关于Firebase 实时数据库身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45220756/