javascript - 解析: How to restrict access to only certain properties of an object in Parse?

标签 javascript parse-platform

我是 Parse 的初学者。我之前经常使用 django 和 django Rest 框架。我最近开始从事解析工作,我喜欢它,但是我的脑海中有一些困惑,我无法通过阅读文档来解决。

我想限制对对象的某些属性(/字段)的访问,而不是像 Parse Documentation 中所述的整个对象。

例如我有

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

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

并且有一个对象

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

现在我想要一个设置,其中“user1”对象只能访问对象“pet”的“type”和“name”属性,而“user2”可以访问“pet”的所有三个属性。

如何在Parse中添加这些属性级别权限?我希望我已经表达清楚了我的观点。

最佳答案

ACL是最具体的控制手段,它只进行到对象级别。在对象内,您可以通过应用程序逻辑强制执行,或将对象分解为多个部分...

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

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

当查询 Pet 时(比如说,在 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
});

关于javascript - 解析: How to restrict access to only certain properties of an object in Parse?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32949804/

相关文章:

javascript - 向 Google Analytics 发送自定义名称

javascript - 单击链接更改显示内容

javascript - Bootstrap datetimepicker 每次都给出相同的日期

android - "at least one ID field (installationId,deviceToken) must be specified in this operation"解析

javascript - Sequelize.js 钩子(Hook) afterBulkCreate 迭代

javascript - 安装时自动对焦输入 (Vue) - iOS

parse-platform - 根据指针用户字段查询parse.com数据

ios - Apple Mach-O 链接器错误,退出代码为 1,解析注册页面

ios - 如何在 Swift 中同步检索 PFUser objectForKey

iphone - 查询解析 SDK 加入两个类