使用Firebase,我如何获取其中有些孩子安全的节点?Firebase - 无安全节点访存数据?
例如...
数据结构:
root: {
clients: {
c1: {
data: {
name: "person1"
}
permissions: {
clientId: "abc"
trainerId: "123"
}
}
c2: {
data: {
name: "person2"
}
permissions: {
clientId: "def"
trainerId: "123"
}
}
}
}
安全:
"clients": {
"$clientKey": {
"data": {
".read": "data.parent().child('permissions').child('clientId').val() == auth.token.name || data.parent().child('permissions').child('trainerId').val() == auth.uid",
".write": "data.parent().child('permissions').child('trainerId').val() == auth.uid"
}
}
}
所以我想实现如下;客户可以读取他们自己的数据。培训师可以阅读和编写他们的任何客户。如果您的id
在permissions
中,那么您可以按照指定进行读/写操作。
但是,我的问题现在变成了,如果作为培训师,我想查看我有权读取的所有客户端的列表。
我该如何取客户?试图在clients
上执行数据读取/读取失败。
做这些权限实际上你在模拟器工作?我无法让他们工作。 –
不,不适合我。我在这里看到一个例子:https://firebase.googleblog.com/2016/10/group-security-in-firebase-database.html我明白它不是一个答案,我问的原因是因为我无法找出一个工作解决方案,或不知道它会如何工作。 –