我正在使用Parse.com Javascript SDK编写AngularJS应用程序;
我想发送一个请求来创建一个名为" Activity"其中"活动" object具有对创建者用户的引用(例如:column" owner")。
我该怎么做?我需要云代码吗?如果没有,那么这不是一个安全漏洞,任何人都可以使用某个客户端ID来创建对象吗?
答案 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() {}
});
};