gpt4 book ai didi

yii - Yii 的 RBAC 中的 "tasks"到底是什么?

转载 作者:行者123 更新时间:2023-12-03 03:47:35 26 4
gpt4 key购买 nike

我在设计新的、相当大/复杂的网站时正在深入研究 RBAC。我试图弄清楚是否要创建一个任务或只是一个带有业务规则的操作

现在,我已经阅读了大部分(如果不是全部)现有文档。当前的文档说“任务由操作组成”。 This维基文章说,不同的术语只是命名约定,唯一存在的限制是结构性的 - 角色必须包括任务(或其他角色);任务应该包括操作(或其他任务),操作是原子术语,不进一步由其他实体组成。我还阅读了“Agile web dev...”和“Yii Cookbook”书籍中的相关部分 - 这两本书都没有进一步阐明这个问题(至少从我的眼镜来看)。

让我们看一下我将提出问题的示例。实际上,让我们使用与上述大多数文档资源中演示的示例类似的示例:假设我有一篇博客文章,我希望/需要其作者能够“更新自己的帖子”。现在,为什么这应该是文档资源中常见的任务,而不是具有 biz 规则的操作?

我认为上面的问题揭示了“任务”的不明确定义(当然是在 RBAC 上下文中)。

请帮助我为 RBAC 任务提炼出更好的定义。

编辑:有人建议我对上述术语进行以下定义,以帮助以有用的方式概念化它们。简而言之,最简单的形式是:操作是基本构建 block 。他们是开发人员使用的 Material ,而且只有他们。开发人员在操作之上编写任务角色由任务组成,就像一组任务。角色和任务是站点管理员应该扮演的角色 - 分配和撤销给用户,而不是操作。这是查看和掌握这些实体(角色、任务和操作)的好方法。您还有其他选择来以不同的方式进行概念化吗?如有任何意见,我们将不胜感激。

蒂亚!波阿斯。

最佳答案

我想说的和你在问题编辑中所做的一样。任务只是用户可以执行的具有共同点的操作的组合。例如,您有 oListoViewoCreateoUpdate 操作,这些是开发人员分配给 Controller 操作的操作对于访问控制,前两个只能读取,后两个可以对数据进行写访问(这是它们的共同点)。因此,您现在想要将它们组合到任务 tInspecttManage 中,它们都包含 2 个操作,第一个可以列出和查看,第二个可以创建和更新。 (可选)您可以将 tInspect 设为 tManage 的子任务,以便拥有 tManage 的用户可以列出、查看、更新和创建,但通常您只需给他的角色分配这两项任务。

关于yii - Yii 的 RBAC 中的 "tasks"到底是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9357550/

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