如何使用 Parse Server 设置 class 级别的权限?

How do you set a class-level permission using Parse Server?

我正在将应用程序从 Parse.com(托管)迁移到自托管* Parse Server 实现 (https://github.com/ParsePlatform/parse-server)。

我的应用严重依赖 Class 级权限,因此,例如,所有用户都可以使用 public 密钥读取全局设置,但如果没有主密钥则无法编辑或删除。

在 Parse.com 上,这些权限可在仪表板中配置,但开源 Parse Server 没有仪表板。也许有一些方法可以使用云代码来做到这一点?

*我正在使用 App Engine 的托管 VM 环境,尽管我不确定这是否相关。

我在 mongodb 数据存储中找到了 _SCHEMA table,它包含我正在寻找的 CLP。显然那是它们的存储位置,它们与我的其余数据一起从 Parse.com 迁移过来。我已确认更新这些值会影响数据访问权限

使用休息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 }
  }
}

参考: