我需要在每个类的beforeSave触发器中检查我的PFUser的属性,以确定是否允许该用户编辑他们试图编辑的数据。
例如,如果非管理员PFUser正在尝试编辑或添加到他们不应该被允许的类,我想在beforeSave触发器中阻止它。我使用dirtyKeys访问正在编辑的键。
Parse-Server不支持像旧的Parse服务器那样的.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 :(得分:0)
事实证明,答案比我预期的要明显得多,并且在文档中,但我忽略了它,尽管我的搜索。
由于Parse.User.current()在Parse Server中不起作用,因此替换只是request.user。我能够轻松访问我需要的所有数据并且很高兴。
var user = request.user; // request.user替换Parse.User.current()