作者:安宁日月_860 | 来源:互联网 | 2023-05-18 12:35
UsingFirebase,howcanIfetchanode,ofwhichsomechildrenaresecure?使用Firebase,我如何获取一些节点,其中一些
Using Firebase, how can I fetch a node, of which some children are secure?
使用Firebase,我如何获取一些节点,其中一些孩子是安全的?
For example...
例如...
Data structure:
数据结构:
root: {
clients: {
c1: {
data: {
name: "person1"
}
permissions: {
clientId: "abc"
trainerId: "123"
}
}
c2: {
data: {
name: "person2"
}
permissions: {
clientId: "def"
trainerId: "123"
}
}
}
}
Security:
安全:
"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"
}
}
}
So what I am trying to achieve is the following; A client can read their own data. A trainer can read and write any of their clients. If your id
is in the permissions
then you can read/write as specified.
所以我想要实现的目标如下:客户端可以读取自己的数据。培训师可以读写任何客户。如果您的id在权限中,那么您可以按指定读/写。
However, my issue now becomes, if as a trainer I want to see a list of all clients I have permission to read.
但是,我现在的问题是,如果作为培训师,我想查看我有权阅读的所有客户的列表。
How can I fetch the clients? Trying to just do a data read/fetch on clients
fails.
我该如何获取客户端?试图在客户端上执行数据读取/获取失败。
1 个解决方案