【发布时间】:2021-05-05 18:24:31
【问题描述】:
我正在尝试通过根据 Twitter 登录生成的 uid 在 Firebase 中手动输入应用来为应用创建管理员。我想知道如何在一个节点下的所有子节点中搜索特定的 uid 以指定 r/w 访问权限。
我有以下
{
"GRP1" : {
"ORG1" : {
"CONF1" : {
"TEAM1" : {
"ADMINS" : {
"Name1" : {
"uid" : "abcd1239"
},
"Name2" : {
"uid" : "abcf1234"
}
},
"FEED" : {
"Store1" : {
"info1" : "some text"
},
"Store2" : {
"info2" : "some other text"
}
}
}
}
}
}
}
我想根据 uid 是否存在于 ADMINS 中提供对 FEED 的读/写访问。此规则有效:
".read" : "root.child('GRP1').child('ORG1').child('CONF1').child('TEAM1').child('ADMINS').child('Name1').child('uid').val() === auth.uid"
但如果我有可变数量的 ADMINS,我如何搜索所有的“uid”?我尝试输入子名称作为 uid,然后搜索它是否存在,但读取不起作用:
".read" : "root.child('GRP1').child('ORG1').child('CONF1').child('TEAM1').child('ADMINS').child(auth.uid).exists()"
【问题讨论】:
标签: android firebase firebase-realtime-database firebase-security