yii权限控制的方法(三种方法)
本文实例讲述了yii权限控制的方法。分享给大家供大家参考,具体如下:
这里摘录以下3种:
1.通过accessControl:
publicfunctionfilters()
{
returnarray(
'accessControl',//performaccesscontrolforCRUDoperations
);
}
/**
*Specifiestheaccesscontrolrules.
*Thismethodisusedbythe'accessControl'filter.
*@returnarrayaccesscontrolrules
*/
publicfunctionaccessRules()
{
returnarray(
array('allow',//allowauthenticateduserstoaccessallactions
'users'=>array('@'),
),
array('deny',//denyallusers
'users'=>array('*'),
),
);
}
2.通过插件(如:right)
publicfunctionfilters()
{
returnarray(
'rights',
);
}
3.混合模式:
/**
*@returnarrayactionfilters
*/
publicfunctionfilters()
{
returnarray(
'updateOwn+update',//Applythisfilteronlyfortheupdateaction.
'rights',
);
}
/**
*Filtermethodforcheckingwhetherthecurrentlyloggedinuser
*istheauthorofthepostbeingaccessed.
*/
publicfunctionfilterUpdateOwn($filterChain)
{
$post=$this->loadModel();
//Removethe'rights'filteriftheuserisupdatinganownpost
//andhasthepermissiontodoso.
if(Yii::app()->user->checkAccess('PostUpdateOwn',array('userid'=>$post->author_id)))
$filterChain->removeAt(1);
$filterChain->run();
}
如果有权限的基础上,开放某些动作的权限,可以通过allowedActions:
publicfunctionallowedActions()
{
return'autocomplate,autocomplate2';
}
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。
热门推荐
10 五一公司放假祝福语简短
11 追星女孩的祝福语简短
12 给长辈端午祝福语 简短
13 生日祝福语有诗意简短
14 团圆日祝福语简短
15 中秋商务祝福语简短最新
16 温暖文艺简短祝福语短句
17 男孩上学祝福语简短的
18 入住酒店文案祝福语简短