2016-12-20 31 views
0

我需要檢查自己的PFUser在beforeSave的屬性觸發我的每個類以確定是否應允許用戶編輯他們試圖編輯數據塊。解析服務器訪問PFUser在BeforeSave觸發

例如,如果一個非管理員PFUser試圖編輯或添加到他們不應該被允許類,我想,以防止在beforeSave觸發。我使用dirtyKeys訪問正在編輯的鍵。

解析,服務器不支持.currentUser()等中使用的舊解析服務器。 如何訪問提出請求的PFUser?除了通過會話令牌之外,還有辦法嗎?

Parse.Cloud.beforeSave("Class", function(request, response) { 

//Get the keys that're being edited and iterate through them 
var dirtyKeys = request.object.dirtyKeys(); 
for (var i = 0; i < dirtyKeys.length; ++i) { 
    var dirtyKey = dirtyKeys[i]; 

    //Allow or don't allow editing of each key 
    if (userObject.get("<KEY>")) { 
    console.log('Class before save trigger IS key'); 
    //ADD CLASS SPECIFIC FUNCTIONALITY HERE 

    } else { 
    console.log('Class before save trigger NOT key'); 
    //ADD CLASS SPECIFIC FUNCTIONALITY HERE 

    } 
} 

});

回答

0

原來答案是更加明顯比我預期的,是在文檔,但我忽略了它,儘管我的搜索。

由於Parse.User.current()不解析服務器的工作,更換簡單request.user。我能夠輕鬆訪問我需要的所有數據,並且很好。

變種用戶= request.user; // request.user替換Parse.User.current()