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 学习路线与时间表
Feb 21 PHP
国外PHP程序员的13个好习惯小结
Feb 20 PHP
PHP字符串的连接的简单实例
Dec 30 PHP
PHP对接微信公众平台消息接口开发流程教程
Mar 25 PHP
深入理解PHP中的global
Aug 19 PHP
PHP防止注入攻击实例分析
Nov 03 PHP
Zend Framework缓存Cache用法简单实例
Mar 19 PHP
Laravel5中Cookie的使用详解
May 03 PHP
php7 安装yar 生成docker镜像
May 09 PHP
PHP递归实现快速排序的方法示例
Dec 18 PHP
PHP命令Command模式用法实例分析
Aug 08 PHP
PHP的mysqli_rollback()函数讲解
Jan 23 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
SSI指令
2006/11/25 PHP
php抽奖小程序的实现代码
2013/06/18 PHP
一个很酷的拖动层的js类,兼容IE及Firefox
2009/06/23 Javascript
JavaScript this调用规则说明
2010/03/08 Javascript
javascript学习笔记(七)Ajax和Http状态码
2014/10/08 Javascript
JS制作简单的三级联动
2015/03/18 Javascript
极易被忽视的javascript面试题七问七答
2016/02/15 Javascript
第一次接触神奇的Bootstrap网格系统
2016/07/27 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
Mac下使用charles遇到的问题以及解决办法
2017/01/10 Javascript
JavaScript截屏功能的实现代码
2017/07/28 Javascript
React Router V4使用指南(精讲)
2018/09/17 Javascript
解决antd Form 表单校验方法无响应的问题
2020/10/27 Javascript
py中的目录与文件判别代码
2008/07/16 Python
Python日志模块logging简介
2015/04/13 Python
python黑魔法之编码转换
2016/01/25 Python
python3爬取各类天气信息
2018/02/24 Python
python实现m3u8格式转换为mp4视频格式
2018/02/28 Python
BP神经网络原理及Python实现代码
2018/12/18 Python
Python读取分割压缩TXT文本文件实例
2020/02/14 Python
Pandas时间序列:时期(period)及其算术运算详解
2020/02/25 Python
如何实现更换Jupyter Notebook内核Python版本
2020/05/18 Python
Django实现内容缓存实例方法
2020/06/30 Python
CSS3 :default伪类选择器使用简介
2018/03/15 HTML / CSS
台湾演唱会订票网站:StubHub台湾
2019/06/11 全球购物
大学生期末自我鉴定
2014/02/01 职场文书
幼儿园保教管理制度
2014/02/03 职场文书
药品采购员岗位职责
2014/02/08 职场文书
亲子读书活动方案
2014/02/22 职场文书
优乐美广告词
2014/03/14 职场文书
职业生涯规划书前言
2014/04/15 职场文书
联谊活动总结范文
2015/05/09 职场文书
学生会2016感恩节活动小结
2016/04/01 职场文书
Python中相见恨晚的技巧
2021/04/13 Python
聊聊Python中关于a=[[]]*3的反思
2021/06/02 Python
MySQL实现配置主从复制项目实践
2022/03/31 MySQL