firebase - Firebase 规则 - 权限被拒绝
问题描述
我有一个firebase数据,其中数据的结构如下:
{
"users": {
"123456": {
"Name": "ABC"
"uid": "123456"
}
}
"Orders":{
"987654": {
"Customer ID": "123456"
"Other Details": *****
}
}
}
其中用户是我的数据库中的用户列表。订单是每个用户下的订单。显示的用户 ID 和订单 ID 是虚拟的。它们是由按键生成的。现在,如果“客户 ID”与用户 ID 相同,则用户可以读取订单。为此,我有以下 Firebase 规则:
"Orders":{
".indexOn": ["Customer ID"],
"$Orders_id": {
".write": "((root.child('Orders/'+$Orders_id+'/Customer ID').val() === auth.uid && auth != null) ||(auth != null && !data.exists())",
".read": "root.child('Orders/'+$Orders_id+'/Customer ID').val() === auth.uid && auth != null "
}
}
但是,我收到消息“权限被拒绝”。数据的第一次写入是完美的。有人可以请指导。
解决方案
您确定从编码中读取/写入正确的节点吗?
您可以在此节点中访问读/写 =>Orders/{Orders_id}
您无法在此节点中访问读/写 =>Orders
推荐阅读
- scikit-learn - 欧几里得距离是否测量语义相似度?
- jupyter-notebook - 学生在 nbgrader 中提交作业后更新测试以对其评分
- php - 付款确认php+android
- android - 有没有办法批准用户将数据插入到android中的firebase数据库中?
- sql-server - 无法访问 SQL Server 数据库镜像服务器
- node.js - 多阶段 Dockerfile 导致空间不足
- ios - `Protocol 的问题只能用作通用约束,因为它具有 Self 或关联的类型要求`
- r - 将间隔文本数据转换为数据框
- reactjs - 将 Snipcart 添加到 Gatsby
- sql-server - 如何从 SQL Server 中的日期时间列中删除尾随零