我正在使用Firebase应用,用户("学生")只能访问某些课程(这些课程在数据库的用户部分中声明)。 每个用户都需要访问"课程"在数据库中,但是我不能给这条路径提供一般的读取规则,因为它也会覆盖任何更深层次的路径安全规则。
我尝试使用我在" courses / $ course_id"中使用的Firebase规则。对于"课程",但它不起作用,因为变量" $ course_id"此时尚未宣布。
我的Firebase数据库结构"课程"如下:
"courses" : {
"76g" : {
"questions" : {
"123h9014bsd" : true,
"56a" : {
"firstWrongAnswer" : "B",
"question" : "A",
"rightAnswer" : "A",
"secondWrongAnswer" : "C"
}
},
"title" : "Course1"
}
这些是我为实现上述目标而编写的Firebase规则:
"courses": {
//error for the following line: Error saving rules - Line 9: Unknown variable '$course_id'.
".read": "root.child('students').child(auth.uid).child('courses').hasChild($course_id)",
"$course_id": {
".read": "root.child('students').child(auth.uid).child('courses').hasChild($course_id)
}
}
只要使用Firebase数据库规则甚至可以更改此问题,还是需要更改数据库结构?