2014-11-06 2 views
0

Data & Security guide at Parse.com описывает, как управлять доступом на уровне класса и объекта. Я ищу способ ограничить права на запись на определенные свойства класса для всех пользователей. Как это можно достичь?Контроль доступа на уровне собственности в парсе

Моей идеей было бы использовать отношения «один-к-одному» и ограничивать доступ к соответствующему классу. Однако это не похоже на канонический способ ...

ответ

1

Самый простой способ сделать это - использовать облачный код. Вот как вы могли это сделать:

Parse.Cloud.beforeSave("YourObject", function(request, response) 
{ 
    // Find a way to decide if writing is allowed. 
    var writingForbidden = (request.master === false); 

    if (writingForbidden) 
    { 
     var readOnlyProperties = ["property1", "property2", "property3", "..."]; 

     var dirtyProperties = request.object.dirtyKeys(); 
     for (i = 0 ; i < dirtyProperties.length ; i++) { 
      var dirtyProperty = dirtyProperties[i]; 
      if (readOnlyProperties.indexOf(dirtyProperty) > -1) { 
       return response.error("Trying to change a readonly property : " + dirtyProperty); 
      } 
     } 
    } 

    return response.success(); 
} 
Смежные вопросы