Parse.com参考用户创建对象

时间:2015-09-16 20:48:38

标签: angularjs parse-platform

我正在使用Parse.com Javascript SDK编写AngularJS应用程序;

我想发送一个请求来创建一个名为" Activity"其中"活动" object具有对创建者用户的引用(例如:column" owner")。

我该怎么做?我需要云代码吗?如果没有,那么这不是一个安全漏洞,任何人都可以使用某个客户端ID来创建对象吗?

1 个答案:

答案 0 :(得分:0)

实现此目的的安全(和正确)方法是在服务器端实现Create功能。例如:如果Activity有一个“title”字段,并且我们想要将另一个对象的引用添加为Relation列(在我们的例子中是:User),我们将编写以下Cloud代码:

Parse.Cloud.define("createActivity", function (request, response) {
    var Activity = Parse.Object.extend("Activity");
    var activity = new Activity();

    activity.set('title', request.params.activity.title);
    activity.set('user', Parse.User.current());

    activity.save(null, {
        success: function (activity) {
            response.success({activity: activity});
        },
        error: function (activity, error) {
            response.error({ activity: activity, error: error });
        }
    });
});

从我们的angularJS应用程序中,我们像任何其他云代码功能一样使用云代码:

    function create() {
        Parse.Cloud.run('createActivity', { activity: $scope.activity }, {
            success: function (response) {
                // object created!
                }, 
            error: function() {}
        });
    };