📜  保存在文档内数组中的用户的 firebase 规则 (1)

📅  最后修改于: 2023-12-03 14:49:59.972000             🧑  作者: Mango

保存在文档内数组中的用户的 Firebase 规则

Firebase 是一种实时的后端服务,提供了用于构建 Web、移动和桌面应用程序的工具和基础设施。Firebase 规则定义了访问和修改 Firebase 数据的权限和安全性。

在 Firebase 中,可以通过保存用户数据在文档内的数组来实现一对多的数据关系。下面是示例代码和解释。

service cloud.firestore {
  match /databases/{database}/documents {
    // 规则匹配集合中的文档
    match /users/{userId} {
      allow read, write: if request.auth != null;
      
      // 规则匹配文档内的数组
      match /favorites {
        allow read: if request.auth != null;
        
        // 只允许用户本人写入
        allow write: if request.auth != null && request.auth.uid == userId;
        
        // 限制只能获取特定用户的 favorites
        allow list: if request.auth != null && request.resource.data.userId == userId;
      }
    }
  }
}

以上代码片段使用 Firebase Security Rules 为保存在用户文档内的 favorites 数组定义了访问规则。

  • read 规则允许任何登录的用户读取 favorites 数组。
  • write 规则只允许用户本人写入 favorites 数组,且登录状态有效。
  • list 规则限制只能获取特定用户的 favorites 数组。

这些规则确保了只有经过身份验证且符合条件的用户才能读取和修改 favorites 数组的内容,提高了数据的安全性和隐私保护。

需要注意的是,上述代码只是示例,根据具体需要和数据结构,可以根据实际情况自定义更复杂的规则。

以上是保存在文档内数组中的用户的 Firebase 规则的介绍,希望对程序员有所帮助。

参考文档:Firebase Security Rules