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 相关文章推荐
APACHE的AcceptPathInfo指令使用介绍
Jan 18 PHP
php之XML转数组函数的详解
Jun 07 PHP
php解决约瑟夫环示例
Apr 09 PHP
深入理解PHP之OpCode原理详解
Jun 01 PHP
PHP实现链式操作的原理详解
Sep 16 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
Feb 15 PHP
老生常谈PHP面向对象之注册表模式
May 26 PHP
PHP实现下载远程图片保存到本地的方法
Jun 19 PHP
php xhprof使用实例详解
Apr 15 PHP
详解PHP 7.4 中数组延展操作符语法知识点
Jul 19 PHP
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
Apr 26 PHP
PHP 数组操作详解【遍历、指针、函数等】
May 13 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跨时区(UTC时间)应用解决方案
2013/01/11 PHP
YII框架学习笔记之命名空间、操作响应与视图操作示例
2019/04/30 PHP
JS日历 推荐
2006/12/03 Javascript
js 获取和设置css3 属性值的实现方法
2013/05/06 Javascript
jquery删除提示框弹出是否删除对话框
2014/01/07 Javascript
Javascript实现简单的富文本编辑器附演示
2014/06/16 Javascript
Jquery网页内滑动缓冲导航的实现代码
2015/04/05 Javascript
整理Javascript基础入门学习笔记
2015/11/29 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
如何利用Promises编写更优雅的JavaScript代码
2016/05/17 Javascript
ES5学习教程之Array对象
2017/04/01 Javascript
JavaScript程序设计高级算法之动态规划实例分析
2017/11/24 Javascript
响应式框架Bootstrap栅格系统的实例
2017/12/19 Javascript
详解React中setState回调函数
2018/06/14 Javascript
在VUE中实现文件下载并判断状态的方法
2019/11/08 Javascript
typescript配置alias的详细步骤
2020/08/12 Javascript
[55:25]VGJ.T vs Optic Supermajor小组赛D组 BO3 第三场 6.3
2018/06/04 DOTA
天翼开放平台免费短信验证码接口使用实例
2013/12/18 Python
跟老齐学Python之深入变量和引用对象
2014/09/24 Python
使用Python脚本将绝对url替换为相对url的教程
2015/04/24 Python
python模拟Django框架实例
2016/05/17 Python
Python基础教程之tcp socket编程详解及简单实例
2017/02/23 Python
python 简单的绘图工具turtle使用详解
2017/06/21 Python
python实现验证码识别功能
2018/06/07 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
2018/06/13 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
2019/03/29 Python
Python figure参数及subplot子图绘制代码
2020/04/18 Python
Keras实现将两个模型连接到一起
2020/05/23 Python
python 爬取腾讯视频评论的实现步骤
2021/02/18 Python
Ratchet 模态框的实现
2020/08/19 HTML / CSS
工地门卫岗位职责
2013/12/30 职场文书
劲霸男装广告词改编版
2014/03/21 职场文书
《祁黄羊》教学反思
2014/04/22 职场文书
实验室的标语
2014/06/20 职场文书
幼儿园中班教师个人工作总结
2015/02/06 职场文书
nginx作grpc的反向代理踩坑总结
2021/07/07 Servers