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

Firebase数据库规则权限被拒绝,但模拟正在工作

苏伟志
2023-03-14

我一直在尝试使用数据库规则和通过CLI托管来创建一个基本上是公共的数据库,但有一些限制。如果我根据规则声明数据库已打开,我可以访问该数据库,但如果我从顶层删除读/写操作并尝试仅访问一个子“规则”,我会遇到权限错误:

[2018-10-04T16:13:56.926Z]@firebase/database:firebase警告:设置为/2019/statistics/topTens/Strider Balance Bike/1失败:权限被拒绝
未捕获(promise中)错误:权限被拒绝:权限被拒绝

我的数据库规则是:

{
 "rules": {
  "participants": {
   "$pid": {
    ".read": true,
    ".write": true
   }
  },
  "statistics": {
   ".read": true,
   ".write": true
  },
  "users": {
   "$uid": {
    ".read": "$uid === auth.uid",
    ".write": "$uid === auth.uid"
   }
  }
 }
}

当我试图写入统计数据时,即使. read和.写是真的,我得到了上面的错误。它与数据库默认需要身份验证有关吗?我也使用Firebase托管来托管这个。我已经确保database-rules.json文件的配置方式与Firebase中的数据库规则相同。我已经用Firebase服务重启了本地服务器,运气不好。我到底做错了什么?

共有1个答案

百里涛
2023-03-14

仔细检查错误消息:

设置为/2019/statistics/topTens/Strider Balance Bike/1失败

正如您的规则所期望的那样,您的写作源于/2019,而不是/statistics。您的规则不允许任何以/2019开头的写入。

 类似资料:
  • 我在Kotlin构建了一个应用程序,在节点中有一个后端。js。我允许用户在客户端应用程序上使用Firebase身份验证登录/注册。 该应用程序的部分功能是让用户通过Firebase的实时数据库在线保存数据。应用程序内部发生的事情是,一旦用户登录,我就会将他/她的uid传递到后端,后端会向数据库发出请求。 当数据库的规则是允许每个人读/写时,一切都正常工作。一旦我把它们改成这样: } 我一直被拒绝许

  • 问题内容: 我对编码比较陌生,遇到了麻烦。 我有这段代码可以将数据发送到Firebase 但是,我不断收到错误: FIREBASE警告:设置为/ users /(GoogleID)失败:Permission_denied 2016-05-23 22:52:42.707 firebase.js:227未捕获(承诺)错误:PERMISSION_DENIED:权限被拒绝(…) 当我尝试查找时,它谈论的是

  • 我正试图按照Firebase的在线指南使用Firebase实时数据库,但由于我的许可被拒绝,我无法获得数据库的任何更新。我不确定我做错了什么。我甚至设定了阅读和写作的规则。 onClickListener内的代码如下: 这是在片段中,按钮在开始片段替换事务之前首先完成这些语句。 以下是Firebase中的规则: 由于我不熟悉JSON,我也尝试过在“.write”结尾加逗号 这是stacktrace

  • 与firebase_ auth和firebase_。使用电子邮件和密码进行身份验证。这是用于身份验证和处理身份验证更改事件的代码提取。验证成功后,代码将用户信息插入实时数据库。如果数据库规则设置为读/写真,则一切正常。但是,使用标准数据库写入规则(auth!=null),应用程序抛出DatabaseError:权限被拒绝。数据库插件似乎不知道经过身份验证的身份?你知道怎么回事吗? 然后: 我已经写

  • Firebase规则包括: 代码 它会导致一个错误: [错误:flatter/lib/ui/ui_dart_state.cc(166)]未处理的异常:PlatformException(-3,权限被拒绝,)E/flatter(31408):#0 StandardMethodCodec。解码信封(包:flatter/src/services/message_编解码器。dart:569:7)E/fla

  • 我的Firestore数据库有一些用户和一些s。如果没有其他人认领,用户可以认领。他们通过在上创建一个文档来声明,该文档有一个名为的字段,该字段是对他们自己的用户文档的引用。 我想我已经在这些安全规则中捕捉到了: 但是,当为所有权删除文档时,我获得了: 我是这样做的: 如果我打开read和write设置为true的文档,就不会出现此异常。 我的规则怎么了?他们用模拟器测试正常。