Firebase数据库规则:在数据库路径

时间:2016-09-15 11:25:40

标签: firebase firebase-realtime-database firebase-security

我正在使用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数据库规则甚至可以更改此问题,还是需要更改数据库结构?

0 个答案:

没有答案