位置: 编程技术 - 正文

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钩子场景)

  • 视同销售增值税申报表怎么填写
  • 所得税汇算清缴表在哪里打印
  • 工商税收是什么意思啊
  • 税务登记证号是纳税人识别号吗?
  • 应税消费品是什么意思
  • 提供维修业务的税率
  • 材料出入库制度
  • 公司购买手机如何入账
  • 应征增值税不含税销售额(3%征收率)怎么填2020年
  • 土地成本包含什么
  • 一般纳税人不开票收入怎么填增值税申报表
  • 会计凭证借方和贷方怎么填
  • 取得高新技术企业证书
  • 未交增值税金额公式
  • 经济合同
  • 不得抵扣的会计分录
  • 无形资产减值准备
  • 跨年的费用需要冲减
  • 付出的房屋押金可以退吗
  • 低值易耗品按三年摊销吗
  • 进项税发票已经认证但对方又作废
  • 异地施工需要缴纳什么税
  • 企业所得税弥补亏损明细表怎么填写
  • 单位给职工租房属于福利政策文件
  • 个人出租仓库需交税吗
  • 企业固定资产的盘亏净损失
  • 保险公司赔偿计入营业外收入
  • 实际缴纳的增值税比计提的多
  • 建筑公司一般纳税人增值税税率
  • 去办税大厅清卡需要带什么
  • 印花税资金账簿税率
  • 什么收入不需要交税0税
  • 单位探望病人如何报销费用?
  • macbook不用键盘膜会进灰吗
  • 固定资产折旧计算方法公式大全
  • 退车船税分录
  • 国税打印发票
  • php经典面试题及答案
  • 工会经费怎么上缴
  • 员工出国公司要承担的责任
  • 增值税发票超过3个月可以作废吗
  • 帝国cms怎么样
  • 个体商户个人所得税怎么算
  • 长期待摊费用的摊销方法
  • 信息采集需要填写不动产权证书号吗
  • mongodb如何查询数据
  • 半成品结转成品会计分录
  • 期末留底的进项税怎么下账
  • win10!
  • 无形资产175加计扣除例题
  • 主营业务收入可以进一般户吗
  • 先确认收入后开票怎么做分录
  • 奖金做预发年底会发吗
  • 全额事业单位和差额事业单位退休工资有什么区别
  • 宾馆手撕发票图片
  • 事业单位收到钱怎么记账
  • 用于职工福利的增值税怎么计算
  • 工业企业建立账套
  • mysql的安全级别
  • 深入理解mysql主从原理32讲
  • Windows Server 2003下DHCP服务器的安装与简单配置图文教程
  • 怎么找回手机删除的照片和视频
  • 苹果电脑如何制作
  • 如何在mac上保存文件
  • linux系统开机黑屏啥也没有
  • imac触发角
  • airplay macbook
  • win8如何使用
  • 无线和网络飞行模式
  • 两个linux系统之间如何传文件
  • linux安装有哪几种方式
  • preorder遍历
  • Screen.sleepTimeout=SleepTimeOut.NeverSleep 禁止屏幕锁屏
  • node.js 模块
  • tomcat怎么启动
  • jQuery基于ajax()使用serialize()提交form数据的方法
  • web开发工程师需要学什么
  • 福建省电子税务局官网登录入口
  • 请问到税务局办里退税都需要什么手续
  • 中国的消费税是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设