是否可以在beforeSave中设置用户ACL?

问题描述 投票:0回答:2

在这种情况下,只有用户本身才有权访问其自己的User对象。当前,在创建用户之后,立即在Cloud Code afterSave触发器中设置了ACL:

Parse.Cloud.afterSave("_User", async (request) => {

    const user = request.object;

    if (!user.existed()) {
        user.setACL(new Parse.ACL(user));
        await user.save();
    }
});

是否可以在beforeSave触发器中执行此操作(以保存DB写操作?

parse-platform parse-server
2个回答
1
投票

我看了解析服务器代码,应该可以的。我担心默认ACL可能会覆盖您在beforeSave触发器中设置的内容,但事实并非如此。如您所见,here保留了预先设置的内容,甚至您甚至可以从客户端发送此设置。

beforeSave中设置一个空的ACL将确保只授予该用户访问权限,因为默认情况下,该用户被授予对自己的_User对象的访问权限:

request.object.setACL(new Parse.ACL());

0
投票

是,请确保不要在user.save()中调用beforeSave

© www.soinside.com 2019 - 2024. All rights reserved.