Chr*_*ant 3 node.js parse-cloud-code parse-server parse-dashboard
以下大部分内容都是通过解析仪表板完成的,所以有点啰嗦,但我理解代码只是不理解关系。
我正在设置 Parse.Roles,似乎每个单独的 Parse.Object 都需要设置角色才能访问给定的 Parse.Object。例如,对象 ACL 需要包含“管理员”和“版主”(具有各自的权限),以便管理员或版主具有访问权限。
由于父角色和子角色都是可能的,因此使用“组织”角色设置 Parse.Object 的 ACL 是有意义的,然后由子角色进一步修改该 ACL。因此,“组织”内的“查看者”无法写入,但“组织”内的“管理员”可以读取/写入。我尝试了多种方法来执行此操作 - 将一个用户关联到“查看者”,将一个用户关联到“组织”内的“管理员”,但这似乎不起作用。
我当前的解决方案:手动/以编程方式设置每个 Parse.Object ACL 与多个预设角色。例如,使用 ACL 角色“Viewer”和“Admin”解析类“Person”。
问题:如果我想在将来为同一组织创建不同的角色,我是否需要循环遍历每个 Parse.Object 并为每个过去的对象手动设置新角色?
这些关系应该由父组织管理,这样就不需要手动完成,这是有道理的,但这似乎不起作用。
任何答案、想法或链接都值得赞赏。
正如您所提到的,角色可以拥有角色并继承其父角色的特权。
因此,如果新角色适用于一个类或一组类的所有对象,则无需循环遍历所有解析对象。
我给你举个例子:
假设您有一个名为 Posts 的类。
您有一个角色名称viewer,并且您有一个名为 的角色editor。
当您创建新的帖子对象时,您将添加角色viewer和editor作为帖子对象的 ACL。例如,查看者角色只能具有读取访问权限,而编辑者可以同时具有读取和写入访问权限。
对于每个组织:
uniqueOrganizationNameuniqueOrganizationName用户(关系)。现在,将来,如果您想要将该组织的所有用户添加到实例中editorRole,而不是添加editorRole到所有用户对象中,您可以添加uniqueOrganizationName到editorRole角色中。现在,该组织的所有用户都可以修改所有帖子。如果您希望组织的某些用户能够编辑帖子,请将这些用户添加到editorRole用户中。
注意:此方法是全局的。因此组织编辑可以编辑所有帖子对象。如果您想限制某个组织的编辑者只能编辑属于该组织的帖子:
viewUniqueOrganizationRole& editUniqueOrganizationRole。现在,当您创建新帖子时,根据该帖子所属的组织,将viewUniqueOrganizationRole&&添加editUniqueOrganizationRole到帖子对象的 ACL。
viewUniqueOrganizationRole能够查看属于该组织的帖子,或者您可以添加用户,editUniqueOrganizationRole以便他们可以编辑您的帖子。我希望我能回答你的问题。这是一个复杂的设计。
| 归档时间: |
|
| 查看次数: |
1972 次 |
| 最近记录: |