【问题标题】:Update Parse ACL on queried object更新查询对象上的 Parse ACL
【发布时间】:2018-02-04 05:36:25
【问题描述】:

在我的 iOS 应用程序中,我正在制作一个 PFObject 并将其保存到 Parse。后来,创建了一个用户的帐户(以前不存在),并尝试修改它但不能,因为 PFObjects 的 ACL 未设置为允许该用户拥有权限。如何修改 Parse 中现有对象的 ACL 以允许该用户访问?我不想允许公共写访问。

如果给定正确的 code 查询参数,则以下代码将打印 Success!,但是当我在 Parse 中检查 ACL 时,它根本没有更新。

let query = PFQuery(className: "Bike")
query.whereKey("bikeID", equalTo: code)
query.findObjectsInBackground { (objects: [PFObject]?, error: Error?) in
    guard let obj = objects?[0], error == nil else {
        print("Error")
        return
    }
    obj.acl?.setWriteAccess(true, for: PFUser.current()!)
    obj.saveInBackground { (success: Bool, error: Error?) in
        if error != nil {
            print(error!.localizedDescription)
        }
        else {
            print("Success!")
        }
    }
}

This post 似乎暗示无法通过我的应用程序的 Swift 代码更改 ACL。

【问题讨论】:

    标签: ios swift xcode acl parse-server


    【解决方案1】:

    如果您知道要预先授予访问权限的对象,您可以在 User 类的 CloudCode afterSave 挂钩中更改它的 ACL:在 afterSave 中,测试用户是否刚刚创建(到避免为后续的保存请求重做这项工作),然后查找对象并使用主密钥设置访问权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多