如何 对权限缓存
BaseControlelr.php
function filters()
{
return array(
// 'accessControl',
);
}
public function accessRules()
{
/*
*: 任何用户,包括匿名和验证通过的用户。
?: 匿名用户。
@: 验证通过的用户。
*/
return array(
array('allow',
'controllers'=>array('site'),
'actions'=>array('login'),
'users'=>array('?'),
),
//全局设定,哪些角色可以访问
array('allow',
'actions'=>array(),
'users'=>array('@'),
),
//其他拒绝
array('deny',
'users'=>array('?'),
),
);
}
这是对用户 角色的控制
对操作的控制 在每个控制器里 如下
public function loadUser($id=null)
{
if(!access('User load')){throw new CHttpException(403);exit(); }
if($this->_model===null)
问题:
每次执行 if(!access(‘User load’)){throw new CHttpException(403);exit(); }
是否会带来大量开销?
如果是,请问怎么解决?
能否把 每个action里面的 f(!access(‘User load’)){throw new CHttpException(403);exit(); }
放到BaseControlelr.php
能否举个小例子,好看懂?
期待解决。。。