Firebase /数据库-版本2安全规则?

时间:2019-12-24 23:43:07

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

我刚开始使用Firebase,请注意,有许多教程/文档指导您将以下内容纳入数据库规则:

{
  "rules": {
    "$uid": {
      ".write": "$uid === auth.uid",
      ".read": "$uid === auth.uid"
   }
 }
}

但是,该代码似乎有一个新版本,即版本2。我想知道上面的代码是否已经过时,而版本1(我想)基本上与该代码等效:

// Allow read/write access on all documents to any user signed in to the application
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth.uid != null;
    }
  }
}

来自google firebase文档(https://firebase.google.com/docs/firestore/security/get-started

谢谢

1 个答案:

答案 0 :(得分:1)

您要显示的是来自两种不直接相关的不同产品的规则。

您的第一个样本用于Firebase Realtime Datbase。多年来,基于JSON的规则语言一直没有改变。

您的第二个样本用于Firestore。这是一种完全不同的安全规则语言,与Firebase Realtime Database有点类似,但完全不同。

您所指的规则“版本2”仅适用于Firestore。它改变了语言的几个方面的行为,仅此而已。