Firebase 数据库规则权限被拒绝但模拟工作
Posted
技术标签:
【中文标题】Firebase 数据库规则权限被拒绝但模拟工作【英文标题】:Firebase Database Rules Permission Denied but Simulation Working 【发布时间】:2019-03-10 04:33:53 【问题描述】:我一直在尝试使用数据库规则和通过 CLI 托管来创建一个主要是公共数据库,但有一些限制。如果我在规则下声明它打开,我可以访问数据库,但是如果我从顶层删除读/写并尝试只访问一个子“规则”,我会遇到权限错误:
[2018-10-04T16:13:56.926Z] @firebase/数据库:FIREBASE 警告:设置 在 /2019/statistics/topTens/Strider Balance Bike/1 失败:permission_denied 未捕获(承诺中)错误:PERMISSION_DENIED:权限被拒绝
我的数据库规则是:
"rules":
"participants":
"$pid":
".read": true,
".write": true
,
"statistics":
".read": true,
".write": true
,
"users":
"$uid":
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
当我尝试写入统计数据时,即使 .read 和 .write 为真,我也会收到上述错误。它与默认要求身份验证的数据库有关吗?我也在使用 firebase 托管来托管它。我已确保 database-rules.json 文件的配置方式也与 firebase 中的数据库规则相同。我也用 firebase 服务重新启动了本地服务器,没有运气。我在这里做错了什么?
【问题讨论】:
【参考方案1】:仔细检查错误信息:
设置在 /2019/statistics/topTens/Strider Balance Bike/1 失败
您的写入植根于/2019
,而不是/statistics
,正如您的规则所期望的那样。您的规则不允许任何以/2019
开头的写入。
【讨论】:
天哪,我完全忘记了我在那里添加的。非常感谢!以上是关于Firebase 数据库规则权限被拒绝但模拟工作的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 安全规则完全打开,但仍然授予权限被拒绝错误
与 Firebase DatabaseError 一起颤动:权限被拒绝 [重复]