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 配置文件中open_basedir选项作用
Jul 19 PHP
PHP定时执行计划任务的多种方法小结
Dec 19 PHP
PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
Mar 06 PHP
使用php get_headers 判断URL是否有效的解决办法
Apr 27 PHP
php实现按文件名搜索文件的远程文件查找器
May 10 PHP
利用谷歌 Translate API制作自己的翻译脚本
Jun 04 PHP
ThinkPHP惯例配置文件详解
Jul 14 PHP
PHP中使用imagick实现把PDF转成图片
Jan 26 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
Oct 21 PHP
PHP创建多级目录的两种方法
Oct 28 PHP
PHP实现的堆排序算法详解
Aug 17 PHP
PHP实现八皇后算法
May 06 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 xml文件操作代码(一)
2009/03/20 PHP
探讨PHP调用时间格式的参数详解
2013/06/06 PHP
php中fgetcsv()函数用法实例
2014/11/28 PHP
PHP 与 UTF-8 的最佳实践详细介绍
2017/01/04 PHP
PHP解耦的三重境界(浅谈服务容器)
2017/03/13 PHP
PHP通过get方法获得form表单数据方法总结
2018/09/12 PHP
JS Excel读取和写入操作(模板操作)实现代码
2010/04/11 Javascript
JavaScript入门之对象与JSON详解
2011/10/21 Javascript
javascript中强制执行toString()具体实现
2013/04/27 Javascript
document.forms[].submit()使用介绍
2014/02/19 Javascript
首页图片漂浮效果示例代码
2014/06/05 Javascript
Jquery uploadify上传插件使用详解
2016/01/13 Javascript
JavaScript学习笔记整理之引用类型
2016/01/22 Javascript
原生js获取iframe中dom元素--父子页面相互获取对方dom元素的方法
2016/08/05 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
2016/12/20 Javascript
Angular企业级开发——MVC之控制器详解
2017/02/20 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
深入剖析Express cookie-parser中间件实现示例
2018/02/01 Javascript
Vue 使用 Mint UI 实现左滑删除效果CellSwipe
2018/04/27 Javascript
npm 更改默认全局路径以及国内镜像的方法
2018/05/16 Javascript
JavaScript反射与依赖注入实例详解
2018/05/29 Javascript
vue.js内置组件之keep-alive组件使用
2018/07/10 Javascript
TypeScript类型声明书写详解
2019/08/28 Javascript
[54:09]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
分析用Python脚本关闭文件操作的机制
2015/06/28 Python
python3 实现的人人影视网站自动签到
2016/06/19 Python
python实现两张图片拼接为一张图片并保存
2019/07/16 Python
python垃圾回收机制(GC)原理解析
2019/12/30 Python
详解CSS3中常用的样式【基本文本和字体样式】
2020/10/20 HTML / CSS
美国在线宠物用品商店:Entirely Pets
2017/01/01 全球购物
网络事业创业计划书范文
2014/01/09 职场文书
初中地理教学反思
2014/01/11 职场文书
事业单位分类改革实施方案
2014/03/21 职场文书
军训个人总结
2015/03/03 职场文书
聚众斗殴罪辩护词
2015/05/21 职场文书
mysql 获取时间方式
2022/03/20 MySQL