如何限制用户仅从 Cloud Firestore 检索他们的数据?

Posted

技术标签:

【中文标题】如何限制用户仅从 Cloud Firestore 检索他们的数据?【英文标题】:How can I restrict users to retrieve only their data from Cloud Firestore? 【发布时间】:2021-02-15 00:17:52 【问题描述】:

我正在使用 Kotlin 构建一个应用程序。在app中,用户可以注册并登录。用户登录后,用户添加一些文字和图片,这些数据成功添加到firebase云存储中,并以列表的形式显示在app中。但是,在该应用上注册的任何人都可以访问此列表。

我想做的是用户只能看到自己的数据。所以我不希望用户看到彼此的数据。我只希望每个用户都能看到他们自己添加的数据。我认为我需要更改 Cloud Firestore 规则。如何设置特定文档的权限?

我是这个领域的新手,谢谢!

我的 Firebase 云存储规则;

 rules_version = '2';
    service cloud.firestore 
      match /databases/database/documents 
       match/Notes/noteId
       allow read, write: if request.auth.uid != null ;
       
            
        
    

this is my firebase cloud store screen shot

【问题讨论】:

这段代码中到底有什么不符合您的预期?你有什么错误吗? 我没有任何错误。我尝试制作一个笔记应用程序来练习。问题是用户会看到其他用户创建的笔记。我尝试修复它。 【参考方案1】:

这是通过设置规则来完成的。你可以在这里阅读更多:https://firebase.google.com/docs/database/security#section-overview

【讨论】:

文档链接很棒,但最好的答案提供了一些关于链接内容的背景信息。在这种情况下,用户要求一个规则,使用户只能准备他们自己的数据。您能建议该规则的外观吗?此外,这是问题中所问规则的错误链接。

以上是关于如何限制用户仅从 Cloud Firestore 检索他们的数据?的主要内容,如果未能解决你的问题,请参考以下文章

Cloud Firestore 事务的限制

限制通过VPC网络访问Google Cloud Firestore。

使用规则禁用 Firebase Cloud Firestore 中的查询集合

如何使用 Cloud Firestore 查询用户待处理的好友请求?

即使文档中缺少请求的字段,如何安全地从 cloud-firestore 获取数据?

Firestore / Cloud功能 - 如何在更改时更新Firestore数据