firebase - Firestore 嵌套安全规则

标签 firebase firebase-security google-cloud-firestore

我可以使用规则在 Firestore 中管理对嵌套字段的访问吗?

例如在结构中

users
   b1a2e3
      profile
      rating
      personal_info

只有当users.uid == request.auth.uid时,我才能允许访问personal_info吗?

最佳答案

否,规则仅适用于馆藏和文件。您不能仅获取文档中的部分数据。

如果您愿意,您不能尝试使用文档 UserUID 中的公共(public)信息来更改此类结构。

(集合)用户/(文档)UserUID/(集合)private_info

并使用此规则

service cloud.firestore {
  match /databases/{database}/documents {

  match /users/{userUID} {

        // Other rules

         match/personal_info/{allChildren=**}{
            allow read, write: if request.auth.uid == userID;
        }
  }
}

您可以在此处了解有关 firestore 规则的更多信息: https://firebase.google.com/docs/firestore/security/secure-data#nested_matches

关于firebase - Firestore 嵌套安全规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47096043/

相关文章:

firebase - 为我的应用推荐的 Firebase 数据结构

firebase - Flutter Web 不显示来自 Firebase 存储的网络图像,但是在 Android 模拟器上完美运行

android - flutter - 在运行 Android 4.4 (Kitkat) 的小米设备上崩溃 - Firebase 错误

database - firebase的Blaze计划是按天计算还是按月计算?

javascript - Firebase 可以在写入数据之前在服务器端转换数据吗?

reactjs - React Native firestore 时间戳为空

javascript - 如何将从 <input type ="datetime-local"> 收到的值转换为 firestore 格式?

java - 如何在 java 中使用 FirebaseListAdapter 从 firebase 数据库中读取子项?

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

android - 身份验证后读取数据时权限被拒绝 Firebase