位置: 编程技术 - 正文

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%
  • 工会活动奖励现金怎么入账
  • 建筑公司办公室照片真实
  • 顺丰电子发票开错了可以重新开吗
  • 房屋租赁收入还需要缴纳附加税吗
  • 会计凭证在设计中应遵循的设计原则
  • 账簿登记的基本要求
  • 计提折旧需要减去预计净残值吗
  • 淘汰生产母猪处理销售收入的分录怎么处理?
  • 生产企业商贸企业
  • 与收益相关政府补助区分总额法净额法吗
  • 年终结账后,应当更换新账的有( )
  • 收到利息计入哪个会计科目
  • 税控盘抵减税款怎么转出会计分录
  • 独生子女费属于什么费用
  • 对方给我们开发票
  • 货物分批付款会计处理
  • 企业发生的白条是什么
  • 出口退税服务
  • 社会保险生育险能报多少
  • kindeditor vue
  • 身份证信息提取python
  • 给员工支付的房租费计入哪里?
  • 高新企业研发支出转产成品
  • 公司卖旧车税务处理流程
  • php日历如何实现
  • 企业合并按合并的法律形式分类
  • 土地增值税的意思
  • thinkphp6依赖注入
  • 购入商品再卖出
  • css怎样设置行间距
  • zabbix server端口
  • 深度学习知识点简单概述【更新中】
  • web前端修炼之道
  • 建设工程施工合
  • 出口抵减内销产品应纳税额怎么结转
  • 电话订票起售时间
  • 视同销售的增值税怎么申报
  • 历史成本和重置成本的区别
  • 股本及溢价
  • 材料成本差异的超支与节约
  • 从合同有什么
  • sqlserver 判断函数
  • 劳务报酬的增值税起征点
  • 确认委托代销手续费的会计分录
  • 成品油发票的六个问答
  • 投资性房地产转为非投资性房地产
  • 可供出售金融资产的会计处理
  • 药店医保收入如何查询
  • 农业项目土地流转
  • 暂扣员工工资应怎么处理
  • 工资费用核算的原始记录有
  • 报销的发票抬头怎么填
  • 场地租赁都需要交什么税
  • 幼儿园固定资产一览表
  • 会计凭证负数金额怎么算
  • 经营性应付项目减少对经营活动现金
  • 总分类账的记账
  • 房地产开发企业资质管理规定
  • window系统怎么查看
  • xp电脑开机进入bios怎么办
  • 了解的反义词
  • windows server 2008 r2 iis
  • win7出现蓝屏如何解决
  • 手把手教你安装使用国家反诈中心
  • windowsxp如何创建宽带连接
  • linux系统文件压缩命令
  • meta 标签
  • nodejs cgi
  • 手把手教你学python
  • 结合mint-ui移动端下拉加载实践方法总结
  • 黑马程序员android移动开发基础教程
  • jquery事件的响应
  • Unity3D&&TexturePacker
  • jquery生成元素
  • 基于javascript的毕业设计
  • 山西电子税务局官网app
  • 2018城镇土地使用税减免政策
  • 税务局发票邮寄需要多久
  • 西藏景区门票优惠政策最新
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设