深入解析yii权限分级式访问控制的实现(非RBAC法(2)


   'components'=>array(
        'user'=>array(
            // enable cookie-based authentication
            'allowAutoLogin'=>true,
             'class'=>'WebUser',
        ),


3.找到需要更改权限的controller类,对accessRules()函数做修改,比如对前文的accessRules()函数做如下修改:

复制代码 代码如下:


public function accessRules()  //这里就是访问规则的设置。     {
     return array(
         array('allow',                     // 允许所有用户执行index,view动作。
             'actions'=>array('index','view'),
             'users'=>array('*'),         //*号标识所有用户包括注册的、没注册的、一般的、管理员级的
         ),
         array('allow',                      // 只允许经过验证的用户执行create, update动作。
             'actions'=>array('create','update'),
             'users'=>array('@'),       // @号指所有注册的用户
         ),
         array('allow',                     // 只允许用户名是admin的用户执行admin,delete动作
             'actions'=>array('admin','delete'),
             'expression'=>'yii::app()->user->isAdmin()',
             //这样只有标识为“管理员”的用户才能访问admin,delete动作
         ),
         array('deny',  // 拒绝所有的访问。
             'users'=>array('*'),
         ),
     );


工作完成!

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/9c475ae297da667cb3715d9f7ec3703b.html