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 相关文章推荐
火车头采集器3.0采集图文教程
Mar 17 PHP
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
Sep 02 PHP
php 动态多文件上传
Jan 18 PHP
PHP5中GD库生成图形验证码(有汉字)
Jul 28 PHP
获取URL文件名后缀
Oct 24 PHP
typecho插件编写教程(二):写一个新插件
May 28 PHP
php异常处理方法实例汇总
Jun 24 PHP
smarty的section嵌套循环用法示例
May 28 PHP
Yii实现的多级联动下拉菜单
Jul 13 PHP
PHP与jquery实时显示网站在线人数实例详解
Dec 02 PHP
Zend Framework入门教程之Zend_Mail用法示例
Dec 08 PHP
php+webSoket实现聊天室示例代码(附源码)
Feb 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
PHP实现域名whois查询的代码(数据源万网、新网)
2010/02/22 PHP
php调用mysql存储过程实例分析
2014/12/29 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
php析构函数的简单使用说明
2015/08/24 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
jQuery仿Excel表格编辑功能的实现代码
2013/05/01 Javascript
把input初始值不写value的具体实现方法
2013/07/04 Javascript
jquery的live使用注意事项
2014/02/18 Javascript
浅谈javascript的分号的使用
2015/05/12 Javascript
详谈$.data()的用法和作用
2017/02/13 Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
2017/02/22 Javascript
详解AngularJS 模块化
2017/06/14 Javascript
JS简单添加元素新节点的方法示例
2018/02/10 Javascript
Vue引入sass并配置全局变量的方法
2018/06/27 Javascript
nodejs require js文件入口,在package.json中指定默认入口main方法
2018/10/10 NodeJs
vue安装和使用scss及sass与scss的区别详解
2018/10/15 Javascript
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
2018/10/23 Javascript
微信小程序之几种常见的弹框提示信息实现详解
2019/07/11 Javascript
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
2020/01/08 Javascript
Js生成随机数/随机字符串的方法小结【5种方法】
2020/05/27 Javascript
pytorch + visdom CNN处理自建图片数据集的方法
2018/06/04 Python
Python设计模式之抽象工厂模式原理与用法详解
2019/01/15 Python
简单了解python 邮件模块的使用方法
2019/07/24 Python
基于python 等频分箱qcut问题的解决
2020/03/03 Python
windows python3安装Jupyter Notebooks教程
2020/04/13 Python
python数据类型强制转换实例详解
2020/06/22 Python
Jupyter Notebook安装及使用方法解析
2020/11/12 Python
华丽的手绘陶瓷:MacKenzie-Childs
2017/02/04 全球购物
斯凯奇澳大利亚官网:SKECHERS澳大利亚
2018/03/31 全球购物
园长自我鉴定
2013/10/06 职场文书
研究生自我鉴定范文
2013/10/30 职场文书
公司行政经理岗位职责
2013/12/24 职场文书
课改先进个人汇报材料
2014/01/26 职场文书
2014年班组长工作总结
2014/11/20 职场文书
加入学生会自荐书
2015/03/05 职场文书
学校标语口号大全
2015/12/26 职场文书