RBAC对Role-> Task-> Operation的推荐方法是什么

时间:2012-06-14 13:52:35

标签: php yii rbac

我开始在Yii中使用srbac。

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

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

希望我很清楚, 丹尼

2 个答案:

答案 0 :(得分:2)

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

如果您只需要设计一个非常简单的应用,您只需创建4个“操作”(或任务或角色),然后根据您的条件将其分配给用户。但是对于大中型应用程序,建议使用树方案

答案 1 :(得分:2)

我认为,不久前我在Yii潜入RBAC时遇到了类似的问题。我认为需要清除的是操作,任务和角色的真正含义。我的结论是here,基于Yii项目创始人本人的一个很好的评论,发现here。简而言之,操作是最基本的构建块(Yii RBAC世界的a-la原子)。开发人员(他们只)定义这些并从中构建任务。任务由一个或多个操作组成。角色是根据任务(至少一个)构建的。

在我的设计中,我使用任务作为基本构建块,任务的示例是“编辑自己的配置文件”,“创建文章”,“发送私人消息”等。对我来说,将这些auth项目分解为更精细的粒度是over-design

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