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 相关文章推荐
Windows下部署Apache+PHP+MySQL运行环境实战
Aug 31 PHP
php网站地图生成类示例
Jan 13 PHP
非常实用的PHP常用函数汇总
Dec 17 PHP
PHP二维数组排序简单实现方法
Feb 14 PHP
php简单实现文件或图片强制下载的方法
Dec 06 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
Feb 07 PHP
php使用Jpgraph创建折线图效果示例
Feb 15 PHP
php生出随机字符串
Jul 06 PHP
PHP+AJAX 投票器功能
Nov 11 PHP
php图片裁剪函数
Oct 31 PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
Apr 10 PHP
php连接sftp的作用以及实例代码
Sep 23 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
PHP个人网站架设连环讲(二)
2006/10/09 PHP
帖几个PHP的无限分类实现想法~
2007/01/02 PHP
php 日期和时间的处理-郑阿奇(续)
2011/07/04 PHP
PHP采用get获取url汉字出现乱码的解决方法
2014/11/13 PHP
用javascript实现点击链接弹出"图片另存为"而不是直接打开
2007/08/15 Javascript
js 深拷贝函数
2008/12/04 Javascript
Prototype Template对象 学习
2009/07/19 Javascript
基于jQuery的弹出警告对话框美化插件(警告,确认和提示)
2010/06/10 Javascript
JavaScript获得url查询参数的方法
2015/07/02 Javascript
HTML5基于Tomcat 7.0实现WebSocket连接并实现简单的实时聊天
2016/10/31 Javascript
利用D3.js实现最简单的柱状图示例代码
2016/12/09 Javascript
vue-dialog的弹出层组件
2020/05/25 Javascript
jquery实现图片平滑滚动详解
2017/03/22 jQuery
微信小程序 跳转方式总结
2017/04/20 Javascript
使用JQuery实现图片轮播效果的实例(推荐)
2017/10/24 jQuery
彻底理解js面向对象之继承
2018/02/04 Javascript
vue 自定义全局方法,在组件里面的使用介绍
2018/02/28 Javascript
angular 内存溢出的问题解决
2018/07/12 Javascript
layer.alert自定义关闭回调事件的方法
2019/09/27 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
2020/07/19 Javascript
javascript实现倒计时关闭广告
2021/02/09 Javascript
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
深入分析在Python模块顶层运行的代码引起的一个Bug
2014/07/04 Python
Python设计模式之MVC模式简单示例
2018/01/10 Python
Python3之文件读写操作的实例讲解
2018/01/23 Python
pyshp创建shp点文件的方法
2018/12/31 Python
python在地图上画比例的实例详解
2020/11/13 Python
基于HTML5+Webkit实现树叶飘落动画
2017/12/28 HTML / CSS
微信小程序“圣诞帽”的实现思路详解
2017/12/28 HTML / CSS
万得城电器土耳其网站:欧洲第一大电子产品零售商
2016/10/07 全球购物
德国古洛迷亚百货官网:GALERIA Kaufhof
2017/06/20 全球购物
魅力教师事迹材料
2014/01/10 职场文书
实习护士自荐信
2014/06/21 职场文书
设计师求职信
2014/07/01 职场文书
2019数学教师下学期工作总结
2019/06/27 职场文书
Go结合Gin导出Mysql数据到Excel表格
2022/08/05 Golang