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+dbfile开发小型留言本
Oct 09 PHP
一些关于PHP的知识
Nov 17 PHP
php ftp文件上传函数(基础版)
Jun 03 PHP
php中防止伪造跨站请求的小招式
Sep 02 PHP
php中require和require_once的区别说明
Feb 27 PHP
ThinkPHP CURD方法之page方法详解
Jun 18 PHP
分享一个php 的异常处理程序
Jun 22 PHP
php使用memcoder将视频转成mp4格式的方法
Mar 12 PHP
基于JQuery+PHP编写砸金蛋中奖程序
Sep 08 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
Dec 24 PHP
PHP封装的简单连接MongoDB类示例
Feb 13 PHP
php+mysql开发中的经验与常识小结
Mar 25 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
中国的第一台收音机
2021/03/01 无线电
PHP 操作文件的一些FAQ总结
2009/02/12 PHP
PHP分页函数代码(简单实用型)
2010/12/02 PHP
深入php list()函数的详解
2013/06/05 PHP
探讨如何在php168_cms中提取验证码
2013/06/08 PHP
php实现生成验证码实例分享
2016/04/10 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
2018/05/31 PHP
js 多浏览器分别判断代码
2010/04/01 Javascript
JavaScript程序中实现继承特性的方式总结
2016/06/24 Javascript
谈谈Vue.js——vue-resource全攻略
2017/01/16 Javascript
javaScript基础详解
2017/01/19 Javascript
JS如何实现在页面上快速定位(锚点跳转问题)
2017/08/14 Javascript
Vue2.0 axios前后端登陆拦截器(实例讲解)
2017/10/27 Javascript
jQuery与vue实现拖动验证码功能
2018/01/30 jQuery
vue输入节流,避免实时请求接口的实例代码
2019/10/30 Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
2019/11/12 Javascript
JS控制只能输入数字并且最多允许小数点两位
2019/11/24 Javascript
javascript实现扫雷简易版
2020/08/18 Javascript
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
2016/09/21 Python
python django事务transaction源码分析详解
2017/03/17 Python
Python将字符串常量转化为变量方法总结
2019/03/17 Python
python多线程共享变量的使用和效率方法
2019/07/16 Python
python 读取.nii格式图像实例
2020/07/01 Python
浅谈HTML5中dialog元素尝鲜
2018/10/15 HTML / CSS
无工作经验者个人求职信范文
2013/12/22 职场文书
报纸媒体创意广告词
2014/03/17 职场文书
学生安全承诺书
2014/05/22 职场文书
法制宣传口号
2014/06/16 职场文书
商场促销活动总结
2014/07/10 职场文书
运动会演讲稿100字
2014/08/25 职场文书
纪念九一八事变演讲稿:牢记九一八,屈辱怎能忘
2014/09/14 职场文书
民政局离婚协议书范本
2014/10/20 职场文书
银行自荐信怎么写
2015/03/05 职场文书
关于清明节的演讲稿2015
2015/03/18 职场文书
只需要12页,掌握撰写一流商业计划书的技巧
2019/05/07 职场文书