RBAC 什么是角色>任务>操作的推荐方法


RBAC what is the recommended method for Role->Task->Operation

我开始在Yii中使用srbac。

可用的选项:创建角色、任务和操作,然后分配:操作到任务,任务到角色。

我的问题是:我是否需要为每个操作创建一个任务?因为我想将 1 个操作分配给最低用户级别,将 4 个操作分配给超级管理员。

希望我清楚,丹尼

角色

任务操作都是"授权项",你必须有它。它们仅提供一种以树方式组织权限的方法,然后您可以选择的任何节点并将其分配给用户。当然,也可以将多个节点分配给一个用户,无论是否是叶子。

如果你只需要设计一个非常简单的应用,你可以简单地创建4个"操作"(或任务,或角色),并根据你的条件将它们分配给用户。但建议将树方案用于中型应用。

我想

,前段时间我在Yii潜入RBAC时,我有一个类似的问题。我认为需要明确的是操作、任务和角色的真正含义是什么。我的结论在这里列出,并基于Yii项目创始人本人的良好评论,在这里找到。简而言之,操作是最基本的构建块(Yii RBAC 世界的原子)。开发人员(并且只有他们)定义这些并从中构建任务。任务由一个或多个操作组成。角色是从任务(至少一个)构建的。

在我的设计中,我使用任务作为基本构建块和示例,任务是"编辑自己的个人资料","创建文章","发送私人消息"等。对我来说,将这些身份验证项目分解为更精细的粒度是一种过度设计。

此外,我认为您的应用程序的 RBAC 树不应该满足它现在面临的简单要求,而是从一开始就更加健壮。我建议设置任务和角色,并将角色分配给用户。我发现这是一种更直观的维护网站的方式。