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

Posted

技术标签:

【中文标题】如何使用 Parse Server 设置类级别权限?【英文标题】:How do you set a class-level permission using Parse Server? 【发布时间】:2016-03-15 18:35:55 【问题描述】:

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

我的应用在很大程度上依赖于类级别权限,例如,全局设置可以被所有使用公钥的用户读取,但如果没有主密钥则无法编辑或删除。

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

使用 Rest 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 
  

参考:

https://docs.parseplatform.org/rest/guide/#requires-authentication-permission-requires-parse-server---230 https://docs.parseplatform.org/rest/guide/#class-level-permissions

【讨论】:

以上是关于如何使用 Parse Server 设置类级别权限?的主要内容,如果未能解决你的问题,请参考以下文章

使用 JS SDK 在 Parse Server 中查询类的权限被拒绝

Azure DevOps Server:Git权限设置

parse-server:如何区分用户类 BeforeSave 中的 signUp 和常规 ParseUser.save?

使用 Mongodb 的 Parse-Server 删除类

SQL Server如何去掉某个用户的select * 权限

如何从 Parse Server 在 Mongo 数据库上设置次要首选读取?