Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Parse platform 是否可以在beforeSave中设置用户ACL?_Parse Platform_Parse Server - Fatal编程技术网

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

Parse platform 是否可以在beforeSave中设置用户ACL?,parse-platform,parse-server,Parse Platform,Parse Server,在这种情况下,只有用户本身才可以访问自己的user对象。 当前,ACL是在创建用户后立即在云代码afterSave触发器中设置的: Parse.Cloud.afterSave("_User", async (request) => { const user = request.object; if (!user.existed()) { user.setACL(new Parse.ACL(user)); await user.save()

在这种情况下,只有用户本身才可以访问自己的
user
对象。 当前,ACL是在创建用户后立即在云代码afterSave触发器中设置的:

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

    const user = request.object;

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

是否可以在
beforeSave
触发器(保存数据库写入)中执行此操作?

是的,请确保不要在
beforeSave
中调用
user.save()
,我查看了解析服务器代码,这应该是可能的。我担心默认ACL会覆盖您在
beforeSave
触发器中设置的内容,但事实并非如此。正如您所见,它维护预先设置的内容,您甚至可以从客户端发送此设置

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

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

啊,对了,我想当用户还没有创建时,我应该如何
request.object.setACL(newparse.ACL(user))
。但默认情况下,用户被授予访问权限。