如果使用 Parse 主密钥,是不是可以检查 beforeSave 方法内部?

Posted

技术标签:

【中文标题】如果使用 Parse 主密钥,是不是可以检查 beforeSave 方法内部?【英文标题】:Is it possible to check inside beforeSave method if Parse master key is used?如果使用 Parse 主密钥,是否可以检查 beforeSave 方法内部? 【发布时间】:2016-12-18 22:45:39 【问题描述】:

在我的应用中没有重复很重要,所以我有这个代码:

Parse.Cloud.beforeSave("Thing", function(request, response) 
    var newEntryThing = request.object;
    var thingId= newEntryThing.get("thingId");
    var queryThings= new Parse.Query("Thing");
    queryThings.equalTo("thingId", thingId);

    queryThings.first(
        success: function(results) 
            if(results) 
                response.error(errorCode:400,errorMsg:"Thing already exist");
             else 
                response.success();
            
        ,
        error: function(error) 
            response.success();
        
    );
);

到目前为止,这适用于该目的,问题是由于逻辑原因,即使 Parse 仪表板也无法再更新此类。我的想法是首先检查是否使用主密钥调用该方法,如果是,则此逻辑将被绕过并允许更新。 如果使用 Parse 主密钥,是否可以签入此 beforeSave 方法?

【问题讨论】:

“由于逻辑原因,解析仪表板大炮不再更新此类”...您的意思是当您尝试添加具有重复 thingId 的行时,此逻辑会阻止它吗?这就是它应该做的,对吧? 【参考方案1】:

要检查 beforeSave() 内部是否使用了 maskerkey(或者如果您从仪表板发出请求),请尝试在您的云代码中添加此条件:

if (request.master)
    . . .//dosomething

【讨论】:

以上是关于如果使用 Parse 主密钥,是不是可以检查 beforeSave 方法内部?的主要内容,如果未能解决你的问题,请参考以下文章

检查用户是不是有效 Parse (Swift)

在没有主密钥的情况下访问 Android 中的 Parse 服务器不会授予授权

解析 - 主密钥未经授权

php-sdk 中的 parse.com 会话

解析服务器 user.getSessionToken() 未定义

如何检查查询响应是不是为空 Parse Sever?