我在访问使用角色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}}
我可以看到数据浏览器中有一个名为“XXX_User”的角色对象,我还可以看到当我在数据浏览器中单击“角色”对象上的“查看关系”时,我登录的用户会显示。
我有什么遗失的吗?对此有任何帮助深表感谢。
答案 0 :(得分:2)
我弄明白了这个问题。它无法正常工作,因为我创建的XXX_User角色保存为公共读取权限为false。我必须确保该角色是公开可读的,然后它就像一个魅力。