我在用戶模型中存儲了永遠不應該由用戶自己編輯的一些字段,而應該僅通過後端進行更新。所以我做beforeSave驗證:限制用戶更新某些字段,但允許後端編輯它們
// import all models
var Models = require('cloud/models/index');
// Models.User is a subclass of Parse.User
Parse.Cloud.beforeSave(Models.User, function (request, response) {
var user = request.object;
// prevent numberOfApples from being modified on clients
if(user.existed()) {
if(user.dirty('numberOfApples')) {
response.error('User is not allowed to modify numberOfApples.');
return;
}
}
response.success();
});
所以我檢查模式之前就已經存在,所以這個東西不註冊時觸發,這是非常重要的。但後來我嘗試從Parse儀表板手動更新該字段,並引發錯誤。我如何確保只有用戶不允許編輯此字段,而儀表板或後端可以這樣做(顯然,使用主密鑰時)。
你可以分享你的解決方案代碼 – xybrek 2017-04-24 10:06:42
@xybrek當然,我已經更新了我的答案。我不知道爲什麼我有'user.existed()'檢查,但在我的情況下'用戶'只能由後端創建。 – Andy 2017-04-24 11:48:32
感謝您的回答 – xybrek 2017-04-24 12:05:10