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

Posted

技术标签:

【中文标题】Firebase/数据库 - 第 2 版安全规则?【英文标题】:Firebase/Database - Version 2 Security Rules? 【发布时间】:2020-04-15 20:32:16 【问题描述】:

我刚刚开始使用 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】:

您正在显示两个彼此不直接相关的不同产品的规则。

您的第一个示例用于 Firebase 实时数据库。这种基于 JSON 的规则语言多年未变。

您的第二个示例适用于 Firestore。这是一种完全不同的安全规则语言,与 Firebase 实时数据库有点相似,但完全不同。

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

【讨论】:

这是不明显的东西,感谢您的贡献!

以上是关于Firebase/数据库 - 第 2 版安全规则?的主要内容,如果未能解决你的问题,请参考以下文章

安全规则中的 Firebase 速率限制?

复杂的 Firebase 安全规则

Firebase安全规则,在不同位置具有读写功能

Firebase 安全规则阻止写入 Firebase

如何使用命令行部署 Firebase 数据库安全规则?

读取 Firebase 存储映像安全规则