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中的cookie
Nov 26 PHP
使用adodb lite解决问题
Dec 31 PHP
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
Jan 27 PHP
基于xcache的配置与使用详解
Jun 18 PHP
PHP实现的简易版图片相似度比较
Jan 07 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
Jan 30 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
Aug 18 PHP
Docker 如何布置PHP开发环境
Jun 21 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
May 17 PHP
php实现mysql连接池效果实现代码
Jan 25 PHP
php微信开发之谷歌测距
Jun 14 PHP
PHP实现PDO操作mysql存储过程示例
Feb 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
PHILIPS D1835/D1875的电路分析与打理
2021/03/02 无线电
php中对xml读取的相关函数的介绍一
2008/06/05 PHP
微信公众号开发之通过接口删除菜单
2017/02/20 PHP
PHP7使用ODBC连接SQL Server2008 R2数据库示例【基于thinkPHP5.1框架】
2019/05/06 PHP
thinkPHP5使用Rabc实现权限管理
2019/08/28 PHP
翻译整理的jQuery使用查询手册
2007/03/07 Javascript
Js 获取HTML DOM节点元素的方法小结
2009/04/24 Javascript
jQuery 表单验证扩展(三)
2010/10/20 Javascript
实例分析javascript中的call()和apply()方法
2014/11/28 Javascript
JavaScript基础篇(6)之函数表达式闭包
2015/12/11 Javascript
js实现加载更多功能实例
2016/10/27 Javascript
IntersectionObserver实现图片懒加载的示例
2017/09/29 Javascript
JS交互点击WKWebView中的图片实现预览效果
2018/01/05 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
如何在项目中使用log4.js的方法步骤
2019/07/16 Javascript
JavaScript 引用类型实例详解【数组、对象、严格模式等】
2020/05/13 Javascript
swiper4实现移动端导航栏tab滑动切换
2020/10/16 Javascript
基于Python Shell获取hostname和fqdn释疑
2016/01/25 Python
详解Python的Lambda函数与排序
2016/10/25 Python
基于Python log 的正确打开方式
2018/04/28 Python
Flask-Mail用法实例分析
2018/07/21 Python
Python中Numpy mat的使用详解
2019/05/24 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
使用python-Jenkins批量创建及修改jobs操作
2020/05/12 Python
HTML5的新特性(1)
2016/03/03 HTML / CSS
美国最大的户外装备和服装购物网站:Backcountry
2019/10/15 全球购物
写给爸爸的道歉信
2014/01/15 职场文书
科研先进个人典型材料
2014/01/31 职场文书
校园活动策划方案
2014/06/13 职场文书
学习党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
2014年行政人事工作总结
2014/12/09 职场文书
工作失误检讨书范文
2015/01/26 职场文书
教师专业技术工作总结2015
2015/05/13 职场文书
2015年街道办事处工作总结
2015/05/22 职场文书
怎么禁用Windows 11快照布局? win11不使用快照布局的技巧
2021/11/21 数码科技
golang语言指针操作
2022/04/14 Golang