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 相关文章推荐
一个ORACLE分页程序,挺实用的.
Oct 09 PHP
PHP中如何判断AJAX提交的数据
Feb 05 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
Aug 20 PHP
PHP模拟QQ登录的方法
Jul 29 PHP
php生成图片验证码的实例讲解
Aug 03 PHP
PHP生成随机密码方法汇总
Aug 27 PHP
学习php设计模式 php实现原型模式(prototype)
Dec 07 PHP
php实现批量上传数据到数据库(.csv格式)的案例
Jun 18 PHP
PHP分页显示的方法分析【附PHP通用分页类】
May 10 PHP
PHP中PCRE正则解析代码详解
Apr 26 PHP
php写入txt乱码的解决方法
Sep 17 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
Apr 07 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获取网卡的MAC地址支持WIN/LINUX系统
2014/04/30 PHP
php解析xml方法实例详解
2015/05/12 PHP
php微信开发之带参数二维码的使用
2016/08/03 PHP
PHP封装的XML简单操作类完整实例
2017/11/13 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
js下用gb2312编码解码实现方法
2009/12/31 Javascript
如何使用jQUery获取选中radio对应的值(一句代码)
2013/06/03 Javascript
js 上下左右键控制焦点(示例代码)
2013/12/14 Javascript
利用JavaScript的AngularJS库制作电子名片的方法
2015/06/18 Javascript
jQuery中attr()与prop()函数用法实例详解(附用法区别)
2015/12/29 Javascript
jQuery语法小结(超实用)
2015/12/31 Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
2016/07/11 Javascript
JavaScript兼容浏览器FF/IE技巧
2016/08/14 Javascript
jQuery给指定的table动态添加删除行的操作方法
2016/10/12 Javascript
AngularJS的依赖注入实例分析(使用module和injector)
2017/01/19 Javascript
解决nodejs中使用http请求返回值为html时乱码的问题
2017/02/18 NodeJs
微信小程序 图片宽高自适应详解
2017/05/11 Javascript
webpack配置sass模块的加载的方法
2017/07/30 Javascript
element vue Array数组和Map对象的添加与删除操作
2018/11/14 Javascript
jquery 时间戳转日期过程详解
2019/10/12 jQuery
Element Alert警告的具体使用方法
2020/07/27 Javascript
零基础写python爬虫之打包生成exe文件
2014/11/06 Python
详解Python中的type和object
2018/08/15 Python
Python3.5 Pandas模块之Series用法实例分析
2019/04/23 Python
python 通过可变参数计算n个数的乘积方法
2019/06/13 Python
python 实现压缩和解压缩的示例
2020/09/22 Python
html5表单及新增的改良元素详解
2016/06/07 HTML / CSS
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
Gibson London官网:以地道的英国男装而著称
2019/12/06 全球购物
关爱留守儿童标语
2014/06/18 职场文书
爱的承诺书
2015/01/20 职场文书
幼儿园教师求职信
2015/03/20 职场文书
2015年安全生产工作总结范文
2015/04/02 职场文书
环保守法证明
2015/06/24 职场文书
环保主题班会教案
2015/08/13 职场文书
Golang使用Panic与Recover进行错误捕获
2022/03/22 Golang