如果使用 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 方法内部?的主要内容,如果未能解决你的问题,请参考以下文章
在没有主密钥的情况下访问 Android 中的 Parse 服务器不会授予授权