位置: 编程技术 - 正文

Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解(yii2框架和fastadmin建商城网站哪个好用)

编辑:rootadmin

推荐整理分享Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解(yii2框架和fastadmin建商城网站哪个好用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:yii2框架从入门到精通,yii2框架真的好烂,yii2框架面试题,yii2框架中文手册,yii2框架中文手册,yii2框架优秀在哪里,yii2框架面试题,yii2框架优秀在哪里,内容如对您有帮助,希望把文章链接给更多的朋友!

之前写过一篇Yii2框架制作RESTful风格的API快速入门教程,今天接着来探究一下Yii2 RESTful的格式化响应,授权认证和速率限制三个部分

一、目录结构

先列出需要改动的文件。目录如下:

二、格式化响应

Yii2 RESTful支持JSON和XML格式,如果想指定返回数据的格式,需要配置yiifiltersContentNegotiator::formats属性。例如,要返回JSON格式,修改frontend/controllers/BookController.php,加入红色标记代码:

返回XML格式:FORMAT_XML。formats属性的keys支持MIME类型,而values必须在yiiwebResponse::formatters中支持被响应格式名称。

三、授权认证

RESTful APIs通常是无状态的,因此每个请求应附带某种授权凭证,即每个请求都发送一个access token来认证用户。

1.配置user应用组件(不是必要的,但是推荐配置):

  设置yiiwebUser::enableSession属性为false(因为RESTful APIs为无状态的,当yiiwebUser::enableSession为false,请求中的用户认证状态就不能通过session来保持)

Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解(yii2框架和fastadmin建商城网站哪个好用)

  设置yiiwebUser::loginUrl属性为null(显示一个HTTP 错误而不是跳转到登录界面)

具体方法,修改frontend/config/main.php,加入红色标记代码:

2.在控制器类中配置authenticator行为来指定使用哪种认证方式,修改frontend/controllers/BookController.php,加入红色标记代码:

3.创建一张user表

在common/models/User.php类中实现 yiiwebIdentityInterface::findIdentityByAccessToken()方法。修改common/models/User.php,加入红色标记代码::

四、速率限制

为防止滥用,可以增加速率限制。例如,限制每个用户的API的使用是在秒内最多次的API调用,如果一个用户同一个时间段内太多的请求被接收,将返回响应状态代码 (这意味着过多的请求)。

1.Yii会自动使用yiifiltersRateLimiter为yiirestController配置一个行为过滤器来执行速率限制检查。如果速度超出限制,该速率限制器将抛出一个yiiwebTooManyRequestsHttpException。

修改frontend/controllers/BookController.php,加入红色标记代码:

2.在user表中使用两列来记录容差和时间戳信息。为了提高性能,可以考虑使用缓存或NoSQL存储这些信息。

修改common/models/User.php,加入红色标记代码:

以上所述是小编给大家介绍的Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

thinkPHP中钩子的两种配置调用方法详解 本文实例讲述了thinkPHP中钩子的两种配置调用方法。分享给大家供大家参考,具体如下:thinkphp的钩子行为类是一个比较难以理解的问题,网上有很多写t

thinkPHP多语言切换设置方法详解 本文实例讲述了thinkPHP多语言切换设置方法。分享给大家供大家参考,具体如下:thinkphp多语言设置有点‘高大上',为什么说它有点‘高大上'呢?因为

PHP上传图片、删除图片简单实例 简单PHP上传图片、删除图片实现代码上传图片:if(!empty($_FILES["img"]["name"])){//提取文件域内容名称,并判断$path=uppic/;//上传路径if(!file_exists($path)){//检查

标签: yii2框架和fastadmin建商城网站哪个好用

本文链接地址:https://www.jiuchutong.com/biancheng/301635.html 转载请保留说明!

上一篇:PHP yii实现model添加默认值的方法(两种方法)(php remote_addr)

下一篇:thinkPHP中钩子的两种配置调用方法详解(thinkphp钩子场景)

  • 建筑企业印花税的计税依据
  • 每月工资不一样怎么交党费
  • 银行销户余额取现怎么做分录
  • 分公司可以成为单位犯罪的主体吗
  • 待抵扣进项税额分录
  • 市区增值税附征怎么填
  • 收到损坏赔偿款怎么入账
  • 销售加工费怎么做账务处理
  • 以物易物差价印花税
  • 未收到增值税专用发票
  • 误餐补助有限制性的规定吗
  • 企业法人信息变更
  • 收银员现金管理流程
  • 餐费发票怎么开
  • 进的货没有入库怎么处理
  • 使用权资产的界定
  • 公司成本和费用过高怎么办
  • cmos电池耗尽
  • 增值税贷方余额为负数怎么调整
  • mysqli php
  • 如何利用命令符复制文件
  • linux 引导
  • 继续涉入资产后续计量
  • 债务重组亏损计入
  • 委托贷款业务是资产业务吗
  • 井冈山游击队的口号
  • php 文件上传类型限制
  • windowlocation用法
  • 简单设置w11
  • 11月资产负债表
  • 金税盘登录密码和口令从哪查
  • 股权变更后税务登记
  • 企业跨区变更地址迁入地核验码怎么查询
  • 空调维修保养方案
  • 短期理财会计处理
  • 普通发票可以扣除吗
  • 销售补偿法
  • 红冲去年费用会计分录
  • 对方企业倒闭了是否能函证
  • 员工迟到扣款如何做账
  • 分支机构可不可以不建账合并到总机构?
  • 当月财务费用怎么算
  • 包装物范围
  • 台账和明细账有什么区别
  • 其他应收款有没有备抵科目
  • 排污费主要用于哪些方面
  • 增加个税信息怎么增加
  • 债务现金流量是正还是负
  • 税控盘开发票怎么测试打印机?
  • 哪些工资属于社会福利
  • 专用发票账目不对怎么办
  • myeclipse连接mysql失败
  • 数据库服务器配置方案
  • 原os公测
  • windows刷新快捷键是什么
  • windows.exe
  • wav文件属于什么文件
  • win7系统怎样设置
  • 地图是英语如何改为中文
  • xp系统被锁定怎么解除锁定
  • linux中sed
  • 怎么卸载电脑上的迅雷软件
  • linux磁盘配额实验报告
  • 开机提示windows即将过期
  • 体验Win8灵活分屏贴靠功能图文介绍
  • linux vmware命令行
  • cocos2dx小游戏
  • qt5.15教程
  • jquery技巧
  • vue3目录解析
  • 在xml文件里使用的命令
  • js可以实现网页中哪些效果
  • 2012 05-26 Unity3D研究院之两种方式播放游戏视频(二十五) 雨松MOMO
  • android pipepline
  • python读取一个文件并写入另一个文件
  • androidstudio offline
  • 福利企业免税有哪些项目
  • 浙江国地税联合电子税务局哪里看收到的发票
  • 买车购置税去哪里交钱
  • 无锡市国家税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设