Как установить разрешение на уровне класса с помощью Parse Server?

Я переношу приложение с Parse.com (размещенного) на самостоятельную* реализацию Parse Server (https://github.com/ParsePlatform/parse-server).

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

На Parse.com эти разрешения настраиваются на информационной панели, но Parse Server с открытым исходным кодом не имеет информационной панели. Может быть, есть способ сделать это с помощью облачного кода?

* Я использую управляемую среду виртуальных машин App Engine, хотя не уверен, что это актуально.


person Aaron    schedule 15.03.2016    source источник


Ответы (2)


Я нашел таблицу _SCHEMA в хранилище данных mongodb, и она содержит CLP, которые я искал. Очевидно, именно там они хранятся и были перенесены вместе с остальными моими данными с Parse.com. Я подтвердил, что обновление этих значений влияет на права доступа к данным.

person Aaron    schedule 15.03.2016

Использование API для отдыха:

// POST http://my-parse-server.com/schemas/Announcement
// Set the X-Parse-Application-Id and X-Parse-Master-Key header
// body:
{
  classLevelPermissions:
  {
    "find": {
      "requiresAuthentication": true,
      "role:admin": true
    },
    "get": {
      "requiresAuthentication": true,
      "role:admin": true
    },
    "create": { "role:admin": true },
    "update": { "role:admin": true },
    "delete": { "role:admin": true }
  }
}

Ссылка:

person haha1903    schedule 13.03.2017