创建操作概念不明确(RBAC)

时间:2013-09-24 04:08:25

标签: php yii rbac

我刚刚阅读了有关创建定义授权规则的操作的信息......本书中有一段代码如下

# protected/controllers/SiteController.php::actionSetup()
$auth = Yii::app()->authManager;
$auth->createOperation('createPage',"create a new page");
$auth->createOperation('updatePage',"update a page");

第一个参数是唯一指定操作的标识符...第二个是操作的描述....

现在我的问题是

操作附加的 ACTION 在哪里..它只包含名称和描述...... ??即使我将此操作分配给用户......规则将如何识别已分配给它的操作???

1 个答案:

答案 0 :(得分:1)

您使用auth manager assign函数授予用户访问auth项的权限。 见http://www.yiiframework.com/doc/api/1.1/IAuthManager#assign-detail

E.g。

Yii::app()->authManager->assign('createPage', $idOfMyUser);

然后,您可以使用控制器中的访问规则来控制可以执行操作的人员

像:

   public function accessRules()
   {
         array('allow',
            'actions' => array('create'),
            'roles' => array('createPage')),        
         array('deny'),
      );
   }

请注意,角色,操作和任务基本上是相同的,它们只是一种分离或摸索授权项目的方式