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


Posted in PHP onDecember 28, 2015

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
php中文字母数字验证码实现代码
Apr 25 PHP
php下通过IP获取地理位置的代码(小偷程序)
Jun 09 PHP
PHP中比较两个字符串找出第一个不同字符位置例子
Apr 08 PHP
php利用curl抓取新浪微博内容示例
Apr 27 PHP
php恢复数组的key为数字序列的方法
Apr 28 PHP
使用PHP+AJAX让WordPress动态加载文章的教程
Dec 11 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
Jan 05 PHP
Zend Framework教程之Bootstrap类用法概述
Mar 14 PHP
微信 开发生成带参数的二维码的实例
Nov 23 PHP
PHP实现的装箱算法示例
Jun 23 PHP
php判断目录存在的简单方法
Sep 26 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
Aug 17 PHP
Yii使用Captcha验证码的方法
Dec 28 #PHP
yii使用activeFileField控件实现上传文件与图片的方法
Dec 28 #PHP
yii实现使用CUploadedFile上传文件的方法
Dec 28 #PHP
Yii中Model(模型)的创建及使用方法
Dec 28 #PHP
yii数据库的查询方法
Dec 28 #PHP
yii分页组件用法实例分析
Dec 28 #PHP
PHP读取文件内容的五种方式
Dec 28 #PHP
You might like
CakePHP去除默认显示的标题及图标的方法
2008/10/22 PHP
在PHP中使用反射技术的架构插件使用说明
2010/05/18 PHP
域名和cookie问题(域名后缀)
2012/10/10 PHP
解析php中static,const与define的使用区别
2013/06/18 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
2014/08/20 PHP
php中解析带中文字符的url函数分享
2015/01/20 PHP
PHP页面跳转实现延时跳转的方法
2016/12/10 PHP
PhpStorm+xdebug+postman调试技巧分享
2020/09/15 PHP
javascript dom 基本操作小结
2010/04/11 Javascript
javascript中的=等号个数问题两个跟三个有什么区别
2013/10/23 Javascript
用js设置下拉框为只读的小技巧
2014/04/10 Javascript
escape编码与unescape解码汉字出现乱码的解决方法
2014/07/02 Javascript
js仿3366小游戏选字游戏
2016/04/14 Javascript
Bootstrap模仿起筷首页效果
2016/05/09 Javascript
jQuery实现布局高宽自适应的简单实例
2016/05/28 Javascript
AngularJs directive详解及示例代码
2016/09/01 Javascript
Javascript使用function创建类的两种方法(推荐)
2016/11/19 Javascript
javascript实现秒表计时器的制作方法
2017/02/16 Javascript
详解angular2实现ng2-router 路由和嵌套路由
2017/03/24 Javascript
react-router JS 控制路由跳转实例
2017/06/15 Javascript
angular过滤器实现排序功能
2017/06/27 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
JS大坑之19位数的Number型精度丢失问题详解
2019/04/22 Javascript
详解微信小程序开发(项目从零开始)
2019/06/06 Javascript
python编写简单爬虫资料汇总
2016/03/22 Python
不要用强制方法杀掉python线程
2017/02/26 Python
python ansible服务及剧本编写
2017/12/29 Python
pandas将DataFrame的列变成行索引的方法
2018/04/10 Python
Python实现读取字符串按列分配后按行输出示例
2018/04/17 Python
Python3爬虫中关于中文分词的详解
2020/07/29 Python
python爬虫scrapy图书分类实例讲解
2020/11/23 Python
会计实习生自我鉴定
2013/12/12 职场文书
五四演讲稿范文
2014/09/03 职场文书
钱学森观后感
2015/06/04 职场文书
聊聊Python中关于a=[[]]*3的反思
2021/06/02 Python
Python中time标准库的使用教程
2022/04/13 Python