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 相关文章推荐
第八节--访问方式
Nov 16 PHP
ThinkPHP查询中的魔术方法简述
Jun 25 PHP
php中异常处理方法小结
Jan 09 PHP
PHP多态代码实例
Jun 26 PHP
详解PHP的Yii框架中的Controller控制器
Mar 29 PHP
php与python实现的线程池多线程爬虫功能示例
Oct 12 PHP
php array_reverse 以相反的顺序返回数组实例代码
Apr 11 PHP
浅谈Yii乐观锁的使用及原理
Jul 25 PHP
lnmp安装多版本PHP共存的方法详解
Aug 02 PHP
php实现小程序支付完整版
Oct 09 PHP
Yii框架视图、视图布局、视图数据块操作示例
Oct 14 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
May 12 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创建Cookie数组的详解
2013/07/03 PHP
php中将一段数据存到一个txt文件中并显示其内容
2014/08/15 PHP
php采集中国代理服务器网的方法
2015/06/16 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
2019/03/30 PHP
Yii框架函数简单用法分析
2019/09/09 PHP
jquery下实现overlay遮罩层代码
2010/08/25 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
JavaScript实现从数组中选出和等于固定值的n个数
2014/09/03 Javascript
angularJS 入门基础
2015/02/09 Javascript
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
2015/05/19 Javascript
Bootstrap3学习笔记(二)之排版
2016/05/20 Javascript
Angular 理解module和injector,即依赖注入
2016/09/07 Javascript
JavaScript 控制字体大小设置的方法
2016/11/23 Javascript
基于JavaScript实现的插入排序算法分析
2017/04/14 Javascript
JQuery实现图片轮播效果
2017/05/08 jQuery
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
2017/12/09 Javascript
vue 做移动端微信公众号采坑经验记录
2018/04/26 Javascript
Vue中遍历数组的新方法实例详解
2019/07/21 Javascript
JS实现打字游戏
2019/12/17 Javascript
解决vue路由name同名,路由重复的问题
2020/08/05 Javascript
vue中watch和computed的区别与使用方法
2020/08/23 Javascript
[01:05:56]Liquid vs VP Supermajor决赛 BO 第二场 6.10
2018/07/04 DOTA
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
python实现QQ邮箱/163邮箱的邮件发送
2019/01/22 Python
基于python实现文件加密功能
2020/01/06 Python
Python unittest 自动识别并执行测试用例方式
2020/03/09 Python
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
2020/03/19 Python
Java Unsafe类实现原理及测试代码
2020/09/15 Python
python 还原梯度下降算法实现一维线性回归
2020/10/22 Python
详解CSS3开启硬件加速的使用和坑
2017/08/21 HTML / CSS
CSS3 滤镜 webkit-filter详细介绍及使用方法
2012/12/27 HTML / CSS
CSS3属性box-shadow使用指南
2014/12/09 HTML / CSS
亲子拓展活动方案
2014/02/20 职场文书
群众路线教育实践活动对照检查材料
2014/09/22 职场文书
教师学习心得体会范文
2016/01/21 职场文书
python垃圾回收机制原理分析
2022/04/13 Python