繁体   English   中英

如何随着时间的推移正确使用Parse.Roles关系为多个Parse.Objects和Users?

[英]How do I correctly use Parse.Roles relationships for multiple Parse.Objects and Users over time?

以下大部分都是使用parse-dashboard完成的,所以它有点罗嗦,但我理解代码不是关系。

我正在设置Parse.Roles,似乎每个Parse.Object都需要将Role设置为可以访问给定的Parse.Object。 例如,对象ACL需要包含“管理员”和“主持人”(具有相应的权限),供管理员或主持人才能访问。

由于父角色和子角色是可能的,因此使用“组织”角色设置Parse.Object的ACL是有意义的,然后由子角色进一步修改。 因此,“组织”中的“查看者”不能写,但“组织”中的“管理员”可以读/写。 我尝试了多种方法 - 将一个用户与“查看者”关联,将一个用户关联到“组织”中的“管理员”,但这似乎不起作用。

我当前的解决方案:手动/编程设置具有多个预设角色的每个Parse.Object ACL。 例如,使用ACL角色“查看器”和“管理员”解析类“人员”。

问题:如果我想在将来为同一个组织创建一个不同的角色,我是否需要遍历每个Parse.Object并为每个过去的对象手动设置新角色?

有意义的是,这些关系应该由父组织管理,这样就不需要手动完成,但这似乎不起作用。

任何答案,想法或链接都表示赞赏。

如您所述,角色可以拥有角色并继承其父角色的特权。

因此,如果新角色适用于类的所有对象或其中的一组,则不需要遍历所有解析对象。

我会举个例子:

假设您有一个名为Posts的类。

  • 你有一个角色名称viewer ,并且你有一个名为editor的角色。

  • 在创建新的post对象时,可以将角色viewereditor都添加为post对象的ACL。 例如,查看者角色只能具有读访问权限,编辑器可以具有读写访问权限。

对于每个组织:

  • 首先,创建角色名称uniqueOrganizationName
  • 然后,将属于该组织的所有用户添加到uniqueOrganizationName用户(关系)。

现在,将来,如果要将该组织的所有用户添加到例如editorRole ,而不是将editorRole添加到所有用户对象,则可以将uniqueOrganizationName添加到editorRole角色。 现在,该组织的所有用户都可以修改所有帖子。 如果您希望组织的某些用户能够编辑帖子,则将这些用户添加到editorRole用户。

注意:这种方法是全球性的 所以组织编辑可以编辑所有帖子对象。 如果要限制组织的编辑者只能编辑属于该组织的帖子:

  • 为每个组织创建两个唯一角色viewUniqueOrganizationRoleeditUniqueOrganizationRole

现在,当您创建新帖子时,根据帖子所属的组织,将viewUniqueOrganizationRole && editUniqueOrganizationRole添加到帖子对象的ACL中。

  • 在此之后,您可以将用户添加到viewUniqueOrganizationRole ,以便能够查看属于该组织的帖子,或者您可以将用户添加到editUniqueOrganizationRole以便他们可以编辑您的帖子。

我希望我能回答你的问题。 这是一个复杂的设计。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM