yii权限控制的方法(三种方法)
发布:smiling 来源: PHP粉丝网 添加日期:2021-07-02 11:25:46 浏览: 评论:0
这篇文章主要介绍了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程序设计有所帮助。
Tags: yii权限控制
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)