yii權限控制的方法(三種方法)
更新時間:2015年12月28日 10:46:28 作者:yuhui_fish
這篇文章主要介紹了yii權限控制的方法,結合實例形式分析了通過accessControl,插件機混合模式三種方法實現權限控制的實現技巧,需要的朋友可以參考下
本文實例講述了yii權限控制的方法。分享給大家供大家參考,具體如下:
這里摘錄以下3種:
1. 通過accessControl:
public function filters() { return array( 'accessControl', // perform access control for CRUD operations ); } /** * Specifies the access control rules. * This method is used by the 'accessControl' filter. * @return array access control rules */ public function accessRules() { return array( array('allow', // allow authenticated users to access all actions 'users'=>array('@'), ), array('deny', // deny all users 'users'=>array('*'), ), ); }
2. 通過插件(如:right)
public function filters() { return array( 'rights', ); }
3. 混合模式:
/** * @return array action filters */ public function filters() { return array( 'updateOwn + update', // Apply this filter only for the update action. 'rights', ); } /** * Filter method for checking whether the currently logged in user * is the author of the post being accessed. */ public function filterUpdateOwn($filterChain) { $post=$this->loadModel(); // Remove the 'rights' filter if the user is updating an own post // and has the permission to do so. if(Yii::app()->user->checkAccess('PostUpdateOwn', array('userid'=>$post->author_id))) $filterChain->removeAt(1); $filterChain->run(); }
如果有權限的基礎上,開放某些動作的權限,可以通過allowedActions:
public function allowedActions() { return 'autocomplate,autocomplate2'; }
希望本文所述對大家基于Yii框架的PHP程序設計有所幫助。
相關文章
Thinkphp5.0框架視圖view的循環(huán)標簽用法示例
這篇文章主要介紹了Thinkphp5.0框架視圖view的循環(huán)標簽用法,結合實例形式分析了thinkPHP5框架視圖view中的volist標簽、foreach標簽、for標簽相關使用方法,需要的朋友可以參考下2019-10-10仿dedecms下拉分頁樣式修改的thinkphp分頁類實例
這篇文章主要介紹了仿dedecms下拉分頁樣式修改的thinkphp分頁類,可實現類似dedecms下拉分頁樣式的效果,需要的朋友可以參考下2014-10-10thinkPHP多域名情況下使用memcache方式共享session數據的實現方法
這篇文章主要介紹了thinkPHP多域名情況下使用memcache方式共享session數據的實現方法,較為詳細的分析了session的原理及多服務器共享session的相關技巧,需要的朋友可以參考下2016-07-07