当前位置: 首页 > 知识库问答 >
问题:

拒绝数据访问

文鸣
2023-03-14

我有一个应用程序与cloud firestore通信,根据它的uid获取用户数据,它在当前设置下工作得很好:

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write;
    }
  }
}

然而,这显然是不可接受的,因为它是公众的,并来自消防商店的警告:

您的安全规则被定义为公共的,因此任何人都可以窃取、修改或删除数据库中的数据

service cloud.firestore {
  match /database {
    match /{userId} {
      allow read, write;
    }
  }
}

感谢任何帮助,指出我写规则的正确方式!我读了消防指南,但一点帮助都没有!

多谢!

共有1个答案

南宫凡
2023-03-14

如果希望用户读/写其集合中的文档,请尝试以下操作:

service cloud.firestore {
  match /databases/{database}/documents {
    // Make sure the uid of the requesting user matches name of the user
    // collection. The wildcard expression {userId} makes the userId variable
    // available in rules.
    match /{userId}/{userDocs} {
      allow read, write: if request.auth.uid == userId;
    }
  }
}

如果您有嵌套数据,并希望用户访问其所有嵌套数据,请尝试:

service cloud.firestore {
  match /databases/{database}/documents {
    // Make sure the uid of the requesting user matches name of the user
    // collection. The wildcard expression {userId} makes the userId variable
    // available in rules.
    match /{userId}/{userDocs=**} {
      allow read, write: if request.auth.uid == userId;
    }
  }
}

文档:

    null
 类似资料:
  • 我正在开发一个名为的简单mariaDB数据库,还有一个名为的mariaDB用户。我知道StackOverflow上有很多类似的帐户,但我使用的不是根帐户,而是具有最低权限的普通帐户。 我可以通过SSH访问终端中的数据库,如下所示: 但是,当我在localhost上执行JDBC代码时,访问将在行被拒绝: java JDBC代码是:(我已经删除了类中一些不必要的内容,但是如果我遗漏了任何重要的内容,请

  • 当我创建新用户或授予现有特权,我得到了这个错误: 授予所有表上的权限ok(信息\u架构除外),在此表上我得到了拒绝访问错误。我怎么能修理?转储所有数据库,删除所有数据库,然后从转储还原?

  • 为什么当我试图创建InputStream时,下面的代码会给我一个File Not Found异常?我的inputdirectory定义为一个文件,其值为“D:\general\images\small_images”(不带引号),我的用户对该文件具有完全的写权限。我正在使用Windows7,并以管理员的身份运行eclipse IDE。 如有任何帮助,不胜感激。

  • 我找到了商店定位器的谷歌教程:https://developers.google.com/maps/articles/phpsqlsearch_v3#findnearsql MySQL表完成了,它在我的服务器上工作。我可以在phpmyadmin中正确地写入地址和执行操作 但是在“用PHP输出XML”的教程中,我不能继续了。 我已经创建了文件phpsqlsearch_dbinfo.php,把我的数据

  • 我使用在AMPS(windows 10)上安装laravel。 它起作用了。 但是现在我想连接到MySQL。 我创建了一个“blog”数据库并更改了这两个文件:。环境文件: 和 /config/database.php: 但当我想迁移时,仍然会收到以下消息: C:\ProgramFiles(x86)\Ampps\www\blog [illumb\Database\QueryException] S

  • 从今天起,我们的Airflow服务无法访问BigQuery中的查询。所有作业都会失败,并显示以下消息: [2021-03-12 10:17:28079]{taskinstance.py:1150}错误-原因:403获取https://bigquery.googleapis.com/bigquery/v2/projects/waipu-app-prod/queries/e62030d7-36eb-4