1

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

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

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

现在我的问题是

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

4

1 回答 1

1

您使用身份验证管理器分配功能来授予用户对身份验证项目的访问权限。见http://www.yiiframework.com/doc/api/1.1/IAuthManager#assign-detail

例如

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

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

喜欢:

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

请注意,角色、操作和任务本质上是相同的,它们只是分离或探索身份验证项的一种方式

于 2013-09-24T04:45:05.947 回答