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 好听的元旦简短祝福语