我一直在尝试使用数据库规则和通过 CLI 托管来创建一个主要是公共数据库,但有一些限制。如果我声明它在规则下打开,我可以访问数据库,但是如果我从顶级删除读/写并尝试仅访问一个子“规则”,我会遇到权限错误:
[2018-10-04T16:13:56.926Z]@firebase/database: FIREBASE WARNING: set at /2019/statistics/topTens/Strider Balance Bike/1 failed: permission_denied
Uncaught (in promise) Error: 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 serve 重新启动了本地服务器,不走运。我在这里做错了什么?
仔细检查错误消息:
设置在/2019/statistics/topTens/Strider Balance Bike/1失败
正如您的规则所期望的那样/2019
,您的写作植根于,而不是/statistics
。您的规则不允许任何以/2019
.
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句