gpt4 book ai didi

parse-platform - 解析 - 使用用户 ACL 共享用户信息

转载 作者:行者123 更新时间:2023-12-02 01:57:59 25 4
gpt4 key购买 nike

我有一个关于在某些情况下允许用户信息在用户之间可见的最佳方式的问题。

例如,我的应用程序将有一个“FriendRequest”类来模拟用户之间的好友请求。 “FriendRequest”类有两个用户指针,“toUser”和“fromUser”。

我还为所有用户对象设置了一个默认 ACL,以限制该用户只能进行读/写访问。

我的问题是,当用户发送好友请求时,我为每个用户添加指针,并设置“FriendRequest”对象的 ACL 以允许两个用户读取和写入该对象。但是,当用户检索好友请求数据时,“fromUser”数据不会从查询中返回,因为“fromUser”的 ACL 只允许访问该用户 - 而不是接收好友请求的其他用户。

让这些数据可见的最佳方式是什么?每当创建“FriendRequest”时,我是否应该向“fromUser”ACL 添加读取权限以便“toUser”能够读取它的信息?

感谢任何帮助!

谢谢

最佳答案

好的,让我们设置一些示例数据以使示例问题更清楚。

Users 表中:

{objectId:"BBBB", name:"Bob", age:18, email:"bob@email.com", ACL: only Bob Read/Write} 
{objectId:"JJJJ", name:"Jane", age:27, email:"jane@email.com", ACL: only Jane Read/Write}

因此,Bob 向 Jane 发送了好友请求。您在 FriendRequest 类中创建一个新对象。

{objectId:"XXXX", fromUser: <ptr to BBBB>, toUser: <ptr to JJJJ>, ACL: Bob and Jane Read/Write}

在您当前的设置中,因为您已经设置了 ACL,所以其他人无法读取它们。

选项 1

正如您所建议的,当 Bob 向 Jane 发出请求时,由于它是从 Bob 登录的设备发起的,他可以将 Jane 添加到 ACL。然后,您需要在 Jane 接受或拒绝 friend 请求时,或者可能在一定时间后,将她从 ACL 中删除。

当 Jane 需要从 Bob 请求数据时,这很简单,因为她可以从他的用户类中提取数据,但是稍后需要更多管理(确保稍后正确重置 ACL,使用计划任务确保所有2 周后 Unresolved friend 请求是“休息”,最后,如果出于某种原因您要保护所有用户类以便它们是只读的,暂时让 Bob 的所有属性对 Jane 可读可能是一件坏事。

惰性选项

您可以让所有用户都可以读取。显然更不安全,我想你想避免的事情是因为你正在使用 ACL 并首先发布它。

数据复制选项这需要暂时的数据复制,但那时你只是你需要的特定信息,仅此而已。假设您需要用户的 nameemail 但不需要 age

{objectId:"XXXX", 
fromUser: <ptr to BBBB>,
fromUserName: 'Bob'
fromuserEmail: 'bob@email.com'
toUser: <ptr to JJJJ>,
ACL: Bob and Jane Read/Write}

所以当 Bob 创建请求时,他将自己的信息放入请求对象中。 Jane 可以阅读此信息。请求完成后,您可以让 Jane 读取 Bob 的数据,或者您可能有一些其他表 FriendRelations 来描述这些关系(同样,如果这使事情更安全,则复制相关数据你)。

关于parse-platform - 解析 - 使用用户 ACL 共享用户信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18818453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com