[英]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对象时,可以将角色viewer
和editor
都添加为post对象的ACL。 例如,查看者角色只能具有读访问权限,编辑器可以具有读写访问权限。
对于每个组织:
uniqueOrganizationName
uniqueOrganizationName
用户(关系)。 现在,将来,如果要将该组织的所有用户添加到例如editorRole
,而不是将editorRole
添加到所有用户对象,则可以将uniqueOrganizationName
添加到editorRole
角色。 现在,该组织的所有用户都可以修改所有帖子。 如果您希望组织的某些用户能够编辑帖子,则将这些用户添加到editorRole
用户。
注意:这种方法是全球性的 。 所以组织编辑可以编辑所有帖子对象。 如果要限制组织的编辑者只能编辑属于该组织的帖子:
viewUniqueOrganizationRole
& editUniqueOrganizationRole
。 现在,当您创建新帖子时,根据帖子所属的组织,将viewUniqueOrganizationRole
&& editUniqueOrganizationRole
添加到帖子对象的ACL中。
viewUniqueOrganizationRole
,以便能够查看属于该组织的帖子,或者您可以将用户添加到editUniqueOrganizationRole
以便他们可以编辑您的帖子。 我希望我能回答你的问题。 这是一个复杂的设计。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.