Я пытаюсь настроить роль «general_user» для моего приложения, чтобы администратор мог запретить пользователю удалять их из этой роли.parse-server set ACL для пользователя и роли в afterSave
Этот код:
Parse.Cloud.afterSave(Parse.User, function(request, response) {
var user = request.object;
if (user.existed()) { return; }
var roleQuery = new Parse.Query(CONSTANTS.ROLE_CLASSNAME);
roleQuery.equalTo("name", CONSTANTS.GENERAL_USER_ROLENAME);
roleQuery.first(CONSTANTS.USE_MASTER_KEY)
.then(function(generalUserRole) {
if(generalUserRole)
{
generalUserRole.getUsers().add(user);
return generalUserRole.save();
}
else
{
var role = new Parse.Role(CONSTANTS.GENERAL_USER_ROLENAME, new Parse.ACL());
role.getUsers().add(user);
return role.save();
}
}).then(function(generalUserRole) {
var acl = new Parse.ACL();
acl.setWriteAccess(user, true);
acl.setRoleReadAccess(generalUserRole, true);
req.object.setACL(acl);
},
function(error) {
console.log(JSON.stringify(error));
});
});
результаты в ACL, что это public read, user(write)
(Чтение в приборной панели).
Я попытался сохранить сохранение объекта req.ob после добавления ACL.
Я пробовал с res.success()
(который, как я понимаю, не нужен в afterSave).
спасибо.
Так что я попытался это так, и это не сработало, когда ты сказал, что работал я понял, что это должно быть что-то еще. Поэтому я удалил всех пользователей в моей таблице Parse.User (со старыми ACL), и тогда все сработало нормально. Спасибо. – MayNotBe
Прохладный. Счастлив, что он работает для вас сейчас –