Yii框架ACF(accessController)简单权限控制操作示例


Posted in PHP onApril 26, 2019

本文实例讲述了Yii框架ACF(accessController)简单权限控制操作。分享给大家供大家参考,具体如下:

use yii\filters\AccessControl;
class SiteController extends Controller
{
  public function behaviors()
  {
    return [
      'access' =>[
        'class' => AccessControl::className(),
        'rules' => [
          [
            'allow' => true,
            'actions' => ['index', 'view'],
            'roles' => ['?'],
          ],
          [
            'allow' => true,
            'actions' => ['view','index','create','update'],
            'roles' => ['@'],
          ],
[
'actions' => ['special-callback'],
//'only' => ['special-callback'],
'allow' => true,
'matchCallback'=>function($rule,$action){
return date('Y-m-d') === '2017-02-14';//只有2017年2月14号才可以访问
},
'denyCallback'=>function($rule,$action){ //禁止访问的规则
},
'ips'=>[],//允许的ip
'verbs'=>['GET','POST','DELETE'],//请求的方式
],
        ],
      ],
    ];
  }
  // ...
}

访问规则通过如下的上下文参数设置:

actions: 设置哪个动作匹配此规则。

roles: 设定哪个角色匹配此规则。

*: 任何用户,包括匿名和验证通过的用户。

?: 匿名用户。

@: 验证通过的用户。

ips: 设定哪个客户端IP匹配此规则。

verbs: 设定哪种请求类型(例如:GET, POST)匹配此规则。

matchCallback:指定一个PHP回调,以确定应用该规则。

denyCallback:PHP回调,当规则禁止访问的时候会被调用。

public function actionSpecialCallback()
{
  return $this->render('happy-halloween');
}

以上代码可以用来控制博客系统的访客和登录用户的相关权限

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP 的几个配置文件函数
Dec 21 PHP
简单的PHP图片上传程序
Mar 27 PHP
PHP中防止SQL注入攻击和XSS攻击的两个简单方法
Apr 15 PHP
php抽奖小程序的实现代码
Jun 18 PHP
PHP中实现生成静态文件的方法缓解服务器压力
Jan 07 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
Feb 08 PHP
jQuery获取json后使用zy_tmpl生成下拉菜单
Mar 27 PHP
PHP使用MPDF类生成PDF的方法
Dec 08 PHP
CakePHP框架Session设置方法分析
Feb 23 PHP
PHP Class SoapClient not found解决方法
Jan 20 PHP
Laravel框架实现定时Task Scheduling例子
Oct 22 PHP
php使用Swoole实现毫秒级定时任务的方法
Sep 04 PHP
YII框架实现自定义第三方扩展操作示例
Apr 26 #PHP
PHP中PCRE正则解析代码详解
Apr 26 #PHP
通过PHP设置BugFree获取邮箱通知
Apr 25 #PHP
PHP实现字符串的全排列详解
Apr 24 #PHP
PHP实现二维数组按照指定的字段进行排序算法示例
Apr 23 #PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
Apr 23 #PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
Apr 23 #PHP
You might like
phpMyadmin 用户权限中英对照
2010/04/02 PHP
php实现单链表的实例代码
2013/03/22 PHP
CodeIgniter生成网站sitemap地图的方法
2013/11/13 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
[原创]PHP简单开启curl的方法(测试可行)
2016/01/11 PHP
PHP实现的oracle分页函数实例
2016/01/25 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
原生js实现shift/ctrl/alt按键的获取
2013/04/08 Javascript
extjs ColumnChart设置不同的颜色实现代码
2013/05/17 Javascript
Javascript实现多彩雪花从天降散落效果的方法
2015/02/02 Javascript
javascript元素动态创建实现方法
2015/05/13 Javascript
javaScript实现可缩放的显示区效果代码
2015/10/26 Javascript
js操作table元素实现表格行列新增、删除技巧总结
2015/11/18 Javascript
js解决movebox移动问题
2016/03/29 Javascript
JavaScript学习小结之使用canvas画“哆啦A梦”时钟
2016/07/24 Javascript
JavaScript中访问id对象 属性的方式访问属性(实例代码)
2016/10/28 Javascript
Bootstrap的基本应用要点浅析
2016/12/19 Javascript
jQuery实现移动端Tab选项卡效果
2017/03/15 Javascript
ES6新特性:使用export和import实现模块化详解
2017/07/31 Javascript
D3.js实现简洁实用的动态仪表盘的示例
2018/04/04 Javascript
vue单个组件实现无限层级多选菜单功能
2018/04/10 Javascript
详解Vue的钩子函数(路由导航守卫、keep-alive、生命周期钩子)
2018/07/24 Javascript
解决layui的radio属性或别的属性没显示出来的问题
2019/09/26 Javascript
压缩Vue.js打包后的体积方法总结(Vue.js打包后体积过大问题)
2020/02/03 Javascript
Python Property属性的2种用法
2015/06/21 Python
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
Python 爬虫学习笔记之正则表达式
2016/09/21 Python
Python+Wordpress制作小说站
2017/04/14 Python
python os模块简单应用示例
2019/05/23 Python
Pytorch 多维数组运算过程的索引处理方式
2019/12/27 Python
奥地利网上书店:Weltbild
2017/07/14 全球购物
Toppik顶丰增发纤维官网:解决头发稀疏
2017/12/30 全球购物
优秀团队获奖感言
2014/02/19 职场文书
妇女干部培训方案
2014/05/12 职场文书
乳制品整治工作方案
2014/05/29 职场文书
2016年主题党日活动总结
2016/04/05 职场文书