我在访问使用角色ACL创建的对象时遇到问题。我创建的对象如下所示
var Enquiry = Parse.Object.extend("Enquiry");
var enquiry = new Enquiry();
enquiry.set("first", firstName);
enquiry.set("last", lastName);
var enquiryACL = new Parse.ACL();
enquiryACL.setRoleWriteAccess("XXX_User", true);
enquiryACL.setRoleReadAccess("XXX_User", true);
enquiry.setACL(enquiryACL);
enquiry.save();
稍后,我尝试访问在角色为"XXX_User“的用户登录时创建的同一对象
var Item = Parse.Object.extend("Enquiry");
var query = new Parse.Query(Item);
query.find({
success : function(items) {
displayItems(items);
},
error : function(error) {
alert("couldn't display list: " + error.code + " " + error.message);
}
});
现在的问题是,查询没有返回任何行,即使我可以在仪表板中看到对象已创建。查询对象设置的ACL为{"role:XXX_User":{"write":true,"read":true}}
我可以看到在data browser中有一个名为"XXX_User“的角色对象,并且当我在data browser中的角色对象上单击"View Relations”时,我还可以看到我登录的用户显示出来。
我是不是遗漏了什么?在这方面的任何帮助都深表感谢。
发布于 2013-10-06 02:27:01
我发现了问题所在。它不起作用,因为我创建的角色XXX_User保存时公共读访问权限为false。我必须确保这个角色是可公开阅读的,然后它就像一个护身符一样工作。
https://stackoverflow.com/questions/19167877
复制相似问题