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中利用XML技术构造远程服务(下)
Oct 09 PHP
PHP版自动生成文章摘要
Jul 23 PHP
php面向对象全攻略 (十五) 多态的应用
Sep 30 PHP
php文件怎么打开 如何执行php文件
Dec 21 PHP
php中拷贝构造函数、赋值运算符重载
Jul 25 PHP
如何使用FireFox插件FirePHP调试PHP
Jul 23 PHP
淘宝ip地址查询类分享(利用淘宝ip库)
Jan 07 PHP
php通过隐藏表单控件获取到前两个页面的url
Sep 09 PHP
PHP合并静态文件详解
Nov 14 PHP
PHP制作用户注册系统
Oct 23 PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
Jan 07 PHP
详解thinkphp中的volist标签
Jan 15 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写出自己的BLOG系统 2
2010/04/12 PHP
在PHP中运行Linux命令并启动SSH服务的例子
2014/06/12 PHP
php判断对象是派生自哪个类的方法
2015/06/20 PHP
ajax 缓存 问题 requestheader
2010/08/01 Javascript
jquery插件 autoComboBox 下拉框
2010/12/22 Javascript
JsDom 编程小结
2011/08/09 Javascript
javascript 常用功能总结
2012/03/18 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
2014/05/01 Javascript
AngularJS中的过滤器使用详解
2015/06/16 Javascript
NodeJs——入门必看攻略
2016/06/27 NodeJs
一道优雅面试题分析js中fn()和return fn()的区别
2016/07/05 Javascript
让微信小程序支持ES6中Promise特性的方法详解
2017/06/13 Javascript
jQuery表单设置值的方法
2017/06/30 jQuery
VueJS 组件参数名命名与组件属性转化问题
2018/12/03 Javascript
微信小程序下拉框组件使用方法详解
2018/12/28 Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
2019/05/30 Javascript
Python中的左斜杠、右斜杠(正斜杠和反斜杠)
2016/08/30 Python
Ubuntu下创建虚拟独立的Python环境全过程
2017/02/10 Python
python实现校园网自动登录的示例讲解
2018/04/22 Python
对pandas中to_dict的用法详解
2018/06/05 Python
Python3中在Anaconda环境下安装basemap包
2018/10/21 Python
python hbase读取数据发送kafka的方法
2018/12/27 Python
python生成并处理uuid的实现方式
2020/03/03 Python
python实现扫雷小游戏
2020/04/24 Python
CSS3 text shadow字体阴影效果
2016/01/08 HTML / CSS
给全校老师的建议书
2014/03/13 职场文书
法人代表委托书
2014/04/04 职场文书
室内设计专业毕业生求职信
2014/05/02 职场文书
任命书怎么写
2014/06/04 职场文书
租房协议书
2014/09/12 职场文书
单位更名证明
2015/06/18 职场文书
小学校本教研总结
2015/08/13 职场文书
农村房屋租赁合同(范本)
2019/07/23 职场文书
python利用pandas分析学生期末成绩实例代码
2021/07/09 Python
oracle索引总结
2021/09/25 Oracle
如何打开Win11系统注册表编辑器?Win11注册表编辑器打开修复方法
2022/04/05 数码科技