我是firebase规则的新手,我的firebase数据库如下所示
school1
|
|___classA
| |_classData
|
|
|___students
|__studentA
| |
| |__name
| |__roles
| |
| |_admin
| | |__exists : true
| |_student
| |___exists : true
|
|___studentB
|_name
|_roles
|_admin
| |__exists : false
|_student
|_exists : true
现在,我想要一条规则,如果studentA是classA的管理员,那么他被允许获取classA的数据,否则学生被认为获得了classA的数据,我尝试了类似下面的内容但是失败了
{
rules:{
school1 :{
classA : {
".read":"root.child('school1/students').child('roles/admin').child('exists').val()==true"
}
}
}
}
提前致谢
答案 0 :(得分:1)
你需要这样的东西:
{
"rules": {
"school1": {
"classA": {
".read":"auth != null && root.child('school1').child('students').child(auth.uid).child('roles').child('admin').child('exists').val() === true"
}
}
}
}
但 studentA 需要等同于身份验证令牌中的用户ID 。