授權
識別你的使用者只是安全性的一部分。一旦你知道他們是誰,你就需要一種方法來控制他們對資料庫中資料的訪問。Firebase 資料庫規則允許你控制每個使用者的訪問許可權。例如,這裡有一組安全規則,允許任何人讀取路徑/foo/
,但沒有人寫入它:
{
"rules": {
"foo": {
".read": true,
".write": false
}
}
}
.read
和 .write
規則級聯,因此此規則集授予對 path / foo /以及任何更深層路徑(如/foo/bar/baz
)的任何資料的讀訪問許可權。請注意,允許訪問的 .read
和 .write
規則將覆蓋資料庫中不允許訪問的其他規則; 換句話說,所有適用的,.read
和 .write
規則是 ORed 在一起)。因此,即使路徑/foo/bar/baz
上的規則評估為 false,仍將在此示例中授予對/foo/bar/baz
的讀取許可權。
Firebase 資料庫規則包含內建變數和函式,允許你引用其他路徑,伺服器端時間戳,身份驗證資訊等。以下是為經過身份驗證的使用者授予對/users/<uid>/
的寫訪問許可權的規則示例,其中是通過 Firebase 身份驗證獲取的使用者的 ID。
{
"rules": {
"users": {
"$uid": {
".write": "$uid === auth.uid"
}
}
}
}