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 相关文章推荐
漂亮但不安全的CTB
Oct 09 PHP
简单的过滤字符串中的HTML标记
Dec 25 PHP
PHP XML操作类DOMDocument
Dec 16 PHP
php 文件缓存函数
Oct 08 PHP
调试一段PHP程序时遇到的三个问题
Jan 17 PHP
PHP setTime 设置当前时间的代码
Aug 27 PHP
PHP开发框架Laravel数据库操作方法总结
Sep 03 PHP
PHPUnit安装及使用示例
Oct 29 PHP
php用户注册时常用的检验函数实例总结
Dec 22 PHP
支持中文的PHP按字符串长度分割成数组代码
May 17 PHP
微信公众平台开发(五) 天气预报功能开发
Dec 03 PHP
PHP实现的简单操作SQLite数据库类与用法示例
Jun 19 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
php开发文档 会员收费1期
2012/08/14 PHP
php源代码安装常见错误与解决办法分享
2013/05/28 PHP
ThinkPHP内置jsonRPC的缺陷分析
2014/12/18 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
2019/05/21 PHP
原始的js代码和jquery对比体会
2013/09/10 Javascript
js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件实例
2015/04/29 Javascript
JavaScript编写推箱子游戏
2015/07/07 Javascript
JavaScript中实现无缝滚动、分享到侧边栏实例代码
2016/04/06 Javascript
JS变量及其作用域
2017/03/29 Javascript
如何使用vuejs实现更好的Form validation?
2017/04/07 Javascript
React+react-dropzone+node.js实现图片上传的示例代码
2017/08/23 Javascript
使用vue的v-for生成table并给table加上序号的实例代码
2017/10/27 Javascript
基于vue中对鼠标划过事件的处理方式详解
2018/08/22 Javascript
原生js实现公告滚动效果
2021/01/10 Javascript
微信公众平台 客服接口发消息的实现代码(Java接口开发)
2019/04/17 Javascript
JS实现选项卡效果的代码实例
2019/05/20 Javascript
javascript网页随机点名实现过程解析
2019/10/15 Javascript
基于vue.js实现购物车
2020/01/15 Javascript
jquery+css3实现的经典弹出层效果示例
2020/05/16 jQuery
[33:39]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第二局
2016/02/27 DOTA
利用python程序生成word和PDF文档的方法
2017/02/14 Python
Python中index()和seek()的用法(详解)
2017/04/27 Python
分享一下Python数据分析常用的8款工具
2018/04/29 Python
基于logstash实现日志文件同步elasticsearch
2020/08/06 Python
Css3+Js制作漂亮时钟(附源码)
2013/04/24 HTML / CSS
行政总经理岗位职责
2013/12/05 职场文书
最新大学职业规划书范文
2013/12/30 职场文书
水果连锁超市创业计划书
2014/01/24 职场文书
抄作业检讨书
2014/02/17 职场文书
煤矿安全知识竞赛活动总结
2014/07/07 职场文书
起诉书格式范文
2015/05/20 职场文书
优秀团员主要事迹材料
2015/11/05 职场文书
MySQL系列之十二 备份与恢复
2021/07/02 MySQL
Spring Boot实战解决高并发数据入库之 Redis 缓存+MySQL 批量入库问题
2022/02/12 Redis
《宝可梦》动画制作25周年到来 官方发布特别纪念视频
2022/04/01 日漫
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python