这是一个寻求建议的帖子
我想要两种用户类型:
我将仅使用 Firebase 进行身份验证部分。现在让我们看看我的用户可以做什么:
这是我的管理员可以执行的操作:
我的问题是我可以只使用 Firebase 和 ReactJS 来完成所有这些吗? 还是我需要自定义后端?
如果我只想要一个 RBAC,我的管理员和用户身份验证规则应该是什么样的?
这就够了吗?(在一篇文章中找到):
{
"rules": {
"users": {
"$user": {
".write": "auth !== null && ((auth.token.isAdmin === true && data.child('isAdmin').val() === false) || auth.uid === $user)",
".read": "auth !== null && ((auth.token.isAdmin === true && data.child('isAdmin').val() === false) || auth.uid === $user)"
},
".write": "auth !== null && auth.token.isAdmin === true",
".read": "auth !== null && auth.token.isAdmin === true"
}
}
}
答案 0 :(得分:1)
安全规则足以满足您的要求。您当前的安全规则只允许用户读/写他们自己的节点,而管理员可以读/写任何用户的数据。
自定义后端只是您使用 Admin SDK 并自行授权用户而不是使用安全规则的替代方法。但这听起来对您尝试做的事情来说有点过分,除非您需要做其他事情,例如在添加数据库之前处理数据。