当前位置:首页 > CMS教程 > 其它CMS > 列表

yii权限控制的方法(三种方法)

发布:smiling 来源: PHP粉丝网  添加日期:2021-07-02 11:25:46 浏览: 评论:0 

这篇文章主要介绍了yii权限控制的方法,结合实例形式分析了通过accessControl,插件机混合模式三种方法实现权限控制的实现技巧,需要的朋友可以参考下。

本文实例讲述了yii权限控制的方法,分享给大家供大家参考,具体如下:

这里摘录以下3种:

1. 通过accessControl:

  1. public function filters() 
  2.   return array
  3.     'accessControl'// perform access control for CRUD operations 
  4.   ); 
  5. /** 
  6.  * Specifies the access control rules. 
  7.  * This method is used by the 'accessControl' filter. 
  8.  * @return array access control rules 
  9.  */ 
  10. public function accessRules() 
  11.   return array
  12.     array('allow'// allow authenticated users to access all actions 
  13.       'users'=>array('@'), 
  14.     ), 
  15.     array('deny'// deny all users 
  16.       'users'=>array('*'), 
  17.     ), 
  18.   ); 

2. 通过插件(如:right)

  1. public function filters() 
  2.   return array
  3.     'rights'
  4.   ); 

3. 混合模式:

  1. /** 
  2.  * @return array action filters 
  3.  */ 
  4. public function filters() 
  5.   return array
  6.     'updateOwn + update'// Apply this filter only for the update action. 
  7.     'rights'
  8.   ); 
  9. /** 
  10.  * Filter method for checking whether the currently logged in user 
  11.  * is the author of the post being accessed. 
  12.  */ 
  13. public function filterUpdateOwn($filterChain
  14.   $post=$this->loadModel(); 
  15.   // Remove the 'rights' filter if the user is updating an own post 
  16.   // and has the permission to do so. 
  17.   if(Yii::app()->user->checkAccess('PostUpdateOwn'array('userid'=>$post->author_id))) 
  18.     $filterChain->removeAt(1); 
  19.   $filterChain->run(); 

如果有权限的基础上,开放某些动作的权限,可以通过allowedActions:

  1. public function allowedActions() 
  2.   return 'autocomplate,autocomplate2'

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

Tags: yii权限控制

分享到: