1
我試圖創建,一旦通過雲代碼創建雲解析代碼(交易授權碼)的字段,不能由用戶(或任何人,除非管理員)來改變。文件表明這是可能的。我真的可以用一些關於如何實現這樣的領域的指針。下面解析參考。使用解析雲代碼來執行數據的完整性
- 不要讓用戶直接更改計算字段
我試圖創建,一旦通過雲代碼創建雲解析代碼(交易授權碼)的字段,不能由用戶(或任何人,除非管理員)來改變。文件表明這是可能的。我真的可以用一些關於如何實現這樣的領域的指針。下面解析參考。使用解析雲代碼來執行數據的完整性
你想要什麼就Parse.com博客中描述,一個條目約dirtyKeys。
這裏是他們的樣本的副本:
Parse.Cloud.beforeSave(Parse.User, function(request, response) {
for (dirtyKey in request.object.dirtyKeys()) {
if (dirtyKey === "username" || dirtyKey === "email") {
response.error("User is not allowed to modify " + dirtyKey);
return;
}
}
response.success();
});
你的情況,你想要做的用戶額外的檢查,看他們是否在管理員的角色。
您可能還想檢查是否使用了主密鑰,如this documentation。
僅供參考,下面是完整的查詢可能是什麼樣子:
Parse.Cloud.beforeSave("mySecureObject", function(request, response) {
var isAdminQuery = (new Parse.Query(Parse.Role));
isAdminQuery.equalTo("name", "Administrator");
isAdminQuery.equalTo("users", request.user);
isAdminQuery.first().then(function(adminRole) {
if (adminRole || request.master) {
// admin user or master key set, let 'em do what they want
} else {
for (dirtyKey in request.object.dirtyKeys()) {
if (dirtyKey === "firstCalculatedField" || dirtyKey === "otherCalculatedField") {
response.error("User is not allowed to modify " + dirtyKey);
return;
}
}
}
response.success();
}); // end isAdminQuery.first()
}); // end beforeSave
這是整理出來! – Fattie