【发布时间】:2020-02-10 15:45:00
【问题描述】:
我有用户数据库,我希望每个经过身份验证的用户都可以在其中读取和更新自己的数据。我还想设置一个管理员用户,可以读取和更新数据库中所有用户的数据。
我试过这样做 - How to only allow one admin user to write Firebase Database?
但效果不太好。
我的数据库结构是:
- Users
-key1
-email: xyz
-key2
-email: abc
这是我尝试过的。在这里,我在 firebase auth 中添加了管理员用户,他的身份验证 ID 是 - s94ZwBcP 但是,我在数据库中没有该用户的任何密钥(因为我不需要它)。
"rules": {
"users":{
"$uid":{
".read" : "$uid == auth.uid || auth.uid === 's94ZwBcP'",
".write": "$uid == auth.uid || auth.uid === 's94ZwBcP'"
}
}
【问题讨论】:
-
这些安全规则有什么问题?您能否编辑您的问题以包括minimal code that reproduces that problem?
-
@FrankvanPuffelen 我没有取回密钥,当我点击数据库时,尽管如果我将所有规则都设为“true”,我会取回它们的密钥
-
如果您针对这些规则运行的某些代码不起作用,请编辑您的问题以包含minimal code that reproduces that problem。
标签: firebase-realtime-database firebase-security