我已阅读Google Firebase数据库安全规则文档,并在规则文件中实施了以下规则:
{
"rules": {
"users": {
"$user": {
".read": "auth.uid === $user",
".write": "auth.uid === $user"
}
}
}
}
问题是在模拟器中测试它我看到我可以在用户中读写所有内容,就像没有规则一样。
这是Firebase数据库问题吗?我该如何解决?
以下是文档的链接:https://firebase.google.com/docs/reference/security/database/#variables
答案 0 :(得分:3)
屏幕截图中的规则与您之前发布的规则不同。
在Firebase数据库安全模型中,权限级联:一旦您授予用户对节点的读取或写入权限,您就无法在较低级别上取消该权限。请参阅documentation on security rules for more information。
如果您删除顶级".write": "auth !== null"
,则会发现您无法再写信至/users
,并且如果您是“{1}},则只能写入/users/uid123
uid123
1}}。