多个用户访问实时数据库路径?
Multiple user access to Realtime Database Path?
我目前正在开发一个使用实时数据库的网络应用程序。目前我的安全规则设置为允许每个用户访问他们的 UID 路径。
"$uid" :{
".read": "auth.uid === $uid",
".write": "auth.uid === $uid"
}
我现在正在尝试添加一个管理部分,其中特定用户可以访问整个数据库,有没有办法让 read/write 既可以访问特定的 uid,也可以访问 id路径所有者的?
我的数据库结构如下所示;
客户端 -> UID -> 数据
我已经阅读了有关管理员 SDK 和用户组的信息,但是我需要做的就是将项目附加到数据库中,所以我认为如果我可以只授予特定管理员用户访问权限会更容易吗?
任何 advice/suggestions 将不胜感激!
我通常授予数据库更高级别(有时甚至是根)的管理用户的完全访问权限。例如,假设你有一个 /users
节点,我会这样做:
"users": {
".read": "auth.uid === 'uidOfYourAdminUser'",
".write": "auth.uid === 'uidOfYourAdminUser'",
"$uid" :{
".read": "auth.uid === $uid",
".write": "auth.uid === $uid"
}
}
由于权限向下级联,管理员现在可以 read/write 访问所有用户。
有多种方法可以识别应用程序管理员。例如,您还可以在单独的节点中保留他们的 UID 列表,如下所示:
"admins": {
"uidOfYourAdminUser": true
}
然后在/users
上的规则中这样检查:
root.child('admins').child(auth.uid).exists()
我目前正在开发一个使用实时数据库的网络应用程序。目前我的安全规则设置为允许每个用户访问他们的 UID 路径。
"$uid" :{
".read": "auth.uid === $uid",
".write": "auth.uid === $uid"
}
我现在正在尝试添加一个管理部分,其中特定用户可以访问整个数据库,有没有办法让 read/write 既可以访问特定的 uid,也可以访问 id路径所有者的?
我的数据库结构如下所示;
客户端 -> UID -> 数据
我已经阅读了有关管理员 SDK 和用户组的信息,但是我需要做的就是将项目附加到数据库中,所以我认为如果我可以只授予特定管理员用户访问权限会更容易吗?
任何 advice/suggestions 将不胜感激!
我通常授予数据库更高级别(有时甚至是根)的管理用户的完全访问权限。例如,假设你有一个 /users
节点,我会这样做:
"users": {
".read": "auth.uid === 'uidOfYourAdminUser'",
".write": "auth.uid === 'uidOfYourAdminUser'",
"$uid" :{
".read": "auth.uid === $uid",
".write": "auth.uid === $uid"
}
}
由于权限向下级联,管理员现在可以 read/write 访问所有用户。
有多种方法可以识别应用程序管理员。例如,您还可以在单独的节点中保留他们的 UID 列表,如下所示:
"admins": {
"uidOfYourAdminUser": true
}
然后在/users
上的规则中这样检查:
root.child('admins').child(auth.uid).exists()