0
我的应用程序允许任何人写一封新消息(消息不能更新或删除),该消息应该只对经过验证的用户可见。经过身份验证的用户可以编辑数据(其中包括标记等重要事项等)。将应用视为私人建议框(任何人都可以提交建议,但只有管理员可以查看提交的建议)。我使用的火力地堡模拟器和下面的失败,但它不应该:设置规则,允许未经身份验证的用户只在Firebase数据库中写入新数据
火力地堡模拟器
- 写
- 地点:消息/
- 验证:假
数据(JSON)
“{key:”value“ }
火力地堡的数据库规则
{
"rules": {
"messages": {
"$message": {
".read": "auth !== null",
".write": "!data.exists() || auth !== null",
},
},
"users": {
".read": "auth !== null",
".write": "auth !== null"
}
}
}
您分享的规则乍看起来很正确:对于任何非管理用户,应该拒绝写入'/ messages'。你可以发布模拟器屏幕截图包含相同的信息? –
@FrankvanPuffelen我添加了一个截图,所以这个问题可能会有益于未来的人。下面的答案解决了我的问题。谢谢! – blahblahblah