在Firebase实时数据库中,有很多关于限制对特定用户的读写访问的帖子和讨论。但是,我无法找到一种方法来将新用户的创建限制为仅特定用户/管理员。
我的应用程序由一名经理和一名雇员组成。只有管理者应该能够将新用户(员工)添加到数据库中,并且可以访问员工无法访问的特定数据。据我了解,Firebase提供的API意味着任何客户端都可以创建新用户。
有人可以指导我如何实现这一目标吗?
答案 0 :(得分:1)
您可以执行以下操作:
首先,在数据库中创建一个admins
节点,向其添加具有用户ID的admin / manager用户,如下所示:
- admins
- Br8kiG5....
- users
- Abcd88676....
- ....
- JHgU76hgh....
- ....
第二,按如下所示设置一些安全规则,
{
"rules": {
"users": {
".write": "auth != null && root.child('admins').hasChild(auth.uid)",
".read": .....
".indexOn": .....
},
.....
}
}
第三,在您的应用中实施Firebase身份验证,只有admins
数据库节点下列出的用户才能在users
节点下进行写入。