1
火力对象我有一个数据结构,看起来像:查询用户
{
"farms" : {
"-J3saHfe8_2GRqn3jOTc" : {
"stockunits" : {
"-J4CAeRI-IKKXVuNILCv" : {
"name" : "Chickens",
"totalStockUnits" : 115
}
},
"owner" : 3,
"name" : "smith"
},
"-J3sbbqsGabs5cLaj0zP" : {
"owner" : 2,
"name" : "brown"
}
}
}
当我询问“/农场”我想获得该认证的用户是所有者的农场列表。我还想阻止用户查看他们不是所有者的农场。
我目前的规则是这样的:
{
"rules": {
".write": false,
".read": false,
"farms": {
"$farm": {
".read": "data.child('owner').val() == auth.id"
我得到通过将.read在这个水平上,我授予时通过/农场/访问读取访问单个农场:farmid。如果将“.read”移动到“农场”级别,则会导致对整个列表的读访问权限。
所以我认为我需要重组我的数据,但不知道如何最好地去做这件事?我不想在用户对象下面添加农场对象,因为我想要将任意数量的“编辑者”用户添加到任何给定的农场。
感谢您的帮助
取消规范化工作正常,但将用户的对象集合放入作用域集合中,目前AngularFire不支持。 为了做到这一点,你还需要AngularFire的实验分支,如下所述:https://github.com/firebase/angularFire/issues/92 –