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 字符串编码截取函数(兼容utf-8和gb2312)
May 02 PHP
PHP如何抛出异常处理错误
Mar 02 PHP
PHP中通过语义URL防止网站被攻击的方法分享
Sep 08 PHP
php使用多个进程同时控制文件读写示例
Feb 28 PHP
php读取大文件示例分享(文件操作类)
Apr 13 PHP
成为好程序员必须避免的5个坏习惯
Jul 04 PHP
跟我学Laravel之视图 & Response
Oct 15 PHP
php7基于递归实现删除空文件夹的方法示例
Jun 15 PHP
PHP 中魔术常量的实例详解
Oct 26 PHP
php微信公众号开发之欢迎老朋友
Oct 20 PHP
Laravel关系模型指定条件查询方法
Oct 10 PHP
利用ajax+php实现商品价格计算
Mar 31 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生成条形码大揭秘
2015/09/24 PHP
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
2011/07/28 Javascript
情人节专属 纯js脚本1k大小的3D玫瑰效果
2012/02/11 Javascript
js图片延迟技术一般的思路与示例
2014/03/20 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
2014/04/03 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
jQuery获取radio选中项的值实例
2016/06/18 Javascript
ionic cordova一次上传多张图片(类似input file提交表单)的实现方法
2016/12/16 Javascript
JS二叉树的简单实现方法示例
2017/04/05 Javascript
JavaScript门面模式详解
2017/10/19 Javascript
利用HBuilder打包前端开发webapp为apk的方法
2017/11/13 Javascript
ng-events类似ionic中Events的angular全局事件
2018/09/05 Javascript
vue实现下载文件流完整前后端代码
2020/11/17 Vue.js
Python装饰器的函数式编程详解
2015/02/27 Python
Python学习笔记之open()函数打开文件路径报错问题
2018/04/28 Python
Python操作多维数组输出和矩阵运算示例
2019/11/28 Python
Python实现括号匹配方法详解
2020/02/10 Python
logging level级别介绍
2020/02/21 Python
python模拟点击玩游戏的实例讲解
2020/11/26 Python
pycharm如何设置官方中文(如何汉化)
2020/12/29 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
2021/01/29 Python
英国领先的珍珠首饰品牌:Orchira
2016/09/11 全球购物
德国BA保镖药房韩文网:kr.ba.de
2017/09/04 全球购物
经济实惠的豪华家具:My-Furniture
2019/03/12 全球购物
韩国乐天网上商城:Lotte iMall
2021/02/03 全球购物
自1926年以来就为冰岛保持温暖:66°North
2020/11/27 全球购物
财务助理岗位职责
2013/11/10 职场文书
中青班党性分析材料
2014/02/16 职场文书
保健品市场营销方案
2014/03/31 职场文书
2014年节能减排工作总结
2014/12/06 职场文书
干部年终考核评语
2015/01/04 职场文书
开展警示教育活动总结
2015/05/09 职场文书
调解书格式范本
2015/05/20 职场文书
react antd实现动态增减表单
2021/06/03 Javascript
彻底解决MySQL使用中文乱码的方法
2022/01/22 MySQL
python获取带有返回值的多线程
2022/05/02 Python