Ios 解析swift将新用户添加到现有角色
是否有人可以确认,为了向现有角色添加用户,该角色需要具有公共读写权限 因为这似乎是我唯一能让它工作的方法 创建角色的代码(工作正常) 将用户添加到所述角色的代码(如果写访问权限设置为公共,则有效) 上面的代码可以工作,但正如我所说的,只有当角色的公共写访问权限设置为true时,才能工作 这让我快发疯了 此外,如果角色具有公共写访问权限,这是否会使其容易受到更改角色的人的攻击 如果角色不应该具有公共写访问权限,那么有人可以告诉我正确的方向,让上面的代码工作,而无需将角色设置为具有公共写访问权限Ios 解析swift将新用户添加到现有角色,ios,parse-platform,swift2.1,Ios,Parse Platform,Swift2.1,是否有人可以确认,为了向现有角色添加用户,该角色需要具有公共读写权限 因为这似乎是我唯一能让它工作的方法 创建角色的代码(工作正常) 将用户添加到所述角色的代码(如果写访问权限设置为公共,则有效) 上面的代码可以工作,但正如我所说的,只有当角色的公共写访问权限设置为true时,才能工作 这让我快发疯了 此外,如果角色具有公共写访问权限,这是否会使其容易受到更改角色的人的攻击 如果角色不应该具有公共写访问权限,那么有人可以告诉我正确的方向,让上面的代码工作,而无需将角色设置为具有公共写访问权限 如
如果角色上没有公共写访问权限,我得到的错误是:找不到要更新的对象(代码:101,版本:1.8.1)为什么不在云代码中执行所有工作,这将解决读/写问题。这就是我正在做的 重要的是要注意:当云代码JDK设置为“最新”时,下面的代码将无法工作,我必须将其设置为JDK1.5,然后重新编译我的云代码
Parse.Cloud.afterSave(Parse.User, function(request) {
Parse.Cloud.useMasterKey();
var user = request.object;
if (user.existed()) {
//console.log('object exits');
response.success();
// console.log('********return after save');
return;
}
// set ACL so that it is not public anymore
var acl = new Parse.ACL(user);
acl.setPublicReadAccess(false);
acl.setPublicWriteAccess(false);
user.setACL(acl);
user.save();
//add user to role
var query = new Parse.Query(Parse.Role);
query.equalTo("name", "signedmember");
query.first().then(function(object) {
if (object) {
object.relation("users").add(request.user);
object.save(null, {
success: function(saveObject) {
object.relation("users").add(request.user);
object.save(null, {
success: function(saveObject) {
// The object was saved successfully.
console.log('assigned user to role');
},
error: function(saveObject, error) {
// The save failed.
console.error("Failed creating role with error: " + error.code + ":"+ error.message);
}
});
},
});
}
});
});
为什么不在云代码中执行所有的工作呢,这将帮助您解决读/写问题。这就是我正在做的 重要的是要注意:当云代码JDK设置为“最新”时,下面的代码将无法工作,我必须将其设置为JDK1.5,然后重新编译我的云代码
Parse.Cloud.afterSave(Parse.User, function(request) {
Parse.Cloud.useMasterKey();
var user = request.object;
if (user.existed()) {
//console.log('object exits');
response.success();
// console.log('********return after save');
return;
}
// set ACL so that it is not public anymore
var acl = new Parse.ACL(user);
acl.setPublicReadAccess(false);
acl.setPublicWriteAccess(false);
user.setACL(acl);
user.save();
//add user to role
var query = new Parse.Query(Parse.Role);
query.equalTo("name", "signedmember");
query.first().then(function(object) {
if (object) {
object.relation("users").add(request.user);
object.save(null, {
success: function(saveObject) {
object.relation("users").add(request.user);
object.save(null, {
success: function(saveObject) {
// The object was saved successfully.
console.log('assigned user to role');
},
error: function(saveObject, error) {
// The save failed.
console.error("Failed creating role with error: " + error.code + ":"+ error.message);
}
});
},
});
}
});
});
Parse.Cloud.afterSave(Parse.User, function(request) {
Parse.Cloud.useMasterKey();
var user = request.object;
if (user.existed()) {
//console.log('object exits');
response.success();
// console.log('********return after save');
return;
}
// set ACL so that it is not public anymore
var acl = new Parse.ACL(user);
acl.setPublicReadAccess(false);
acl.setPublicWriteAccess(false);
user.setACL(acl);
user.save();
//add user to role
var query = new Parse.Query(Parse.Role);
query.equalTo("name", "signedmember");
query.first().then(function(object) {
if (object) {
object.relation("users").add(request.user);
object.save(null, {
success: function(saveObject) {
object.relation("users").add(request.user);
object.save(null, {
success: function(saveObject) {
// The object was saved successfully.
console.log('assigned user to role');
},
error: function(saveObject, error) {
// The save failed.
console.error("Failed creating role with error: " + error.code + ":"+ error.message);
}
});
},
});
}
});
});