0
私のアプリに「general_user」ロールを設定しようとしているので、adminはユーザをそのロールから削除することを禁止できます。afterseaveのユーザとロールのparse-server set ACL
このコード:public read, user(write)
のACLで
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を追加した後で、req.objectの保存を保存しようとしました。
私はres.success()
の有無を問わず試しました(これはafterSavesでは必要ないと私は理解しています)。
ありがとうございます。
あなたはそれが、私はそれが何か他のものでなければなりません実現働いたときに、私はこのようにそれを試していたし、それが動作しませんでした。だから私は、古いACLの)と私のParse.Userテーブル内のすべてのユーザーを削除し、すべて正常に働いた。ありがとうございました。 – MayNotBe
Cool。それはあなたのために今働くことを幸せ –