我尝试使用Firebase作为公司情况的后端,在这种情况下,客户需要访问权限仅限于他们创建的内容;和需要能够查看所有数据的员工。这可能在Firebase中。我不能立即看到如何创建这样的规则,比如说,我有一系列员工的火力队员。
答案 0 :(得分:3)
是的,这绝对可以在Firebase中使用。
给出一个简单的Firebase结构:
users
uid_0
name: "Rupert"
uid_1
name: "Buffy"
uid_2
name: "Zoran"
admins
uid_2: true
data
uid_0: "something interesting"
uid_1: "look ma, no hands"
uid_2: "Beam me up"
和规则
"data": {
"$uid": {
".read": "auth != null && ( $uid == auth.uid || root.child('admins').child(auth.uid).exists() )"
".write": "auth != null && ( $uid == auth.uid || root.child('admins').child(auth.uid).exists() )"
}
}
此规则将确保用户
1) authenticated and
2) the node they are accessing has their uid as a key
or
their uid exists in the admins node.
因此,uid_1的Buffy只能访问“看马,没有手”,而zoran和uid_2(管理员)可以访问任何节点。
这可能会被简化,但它证明了这个概念。
答案 1 :(得分:1)
Firebase文档中有一些recipes其中一个显示了role based security实施的具体示例