2015-10-05 55 views
3

我是Parse的开埠者。我以前一直在用django和django rest框架进行很多工作。我最近开始着手解析并且喜欢它,但是在我的脑海里有一些困惑,我一直无法通过阅读文档来解决这个问题。解析:如何限制对Parse中对象的某些属性的访问?

我想限制访问一个对象的某些属性(/场),而不是整个对象作为在Parse Documentation

描述例如,我有

user1 = { 
    name: "a", 
    ... 
} 

user2 = { 
    name: "b", 
    ... 
} 

and there is a object

pet = { 
    type: "Cat", 
    name: "abc", 
    hungry: true, 
} 

现在我想要一个设置,其中“user1”对象只能访问对象“宠物”的“类型”和“名称”属性,而“用户2”可以访问“宠物”的所有三个属性。

如何在Parse中添加这些属性级权限?我希望我明确表达我的观点。

回答

2

ACL是最具体的控制手段,它只能用于对象级别。在一个对象,你可以通过应用程序逻辑执行,或打断对象分成几部分......

Pet = { name: "Toonces", 
     type: "Cat", 
     restrictedPet:<pointer to RestrictedPet>, 
     ACL: everyone } 

RestrictedPet = { hungry: true, 
        canDriveACar: true, 
        ACL: user2 } 

当查询宠物(比如,在JS),你可以无条件地这样说:

var petQuery = new Parse.Query("Pet"); 
petQuery.include("restrictedPet"); 
petQuery.first(then(function(pet) { 
    if (pet.restrictedPet) { 
     // when user2 is running, she will see restricted attributes here 
     console.log("Can my pet drive? " + pet.restrictedPet.canDriveACar); 
    } 
    // the remainder of the attributes are visible here, to all 
}); 
+3

耶知道了谢谢 –