位置: 编程技术 - 正文

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

  • 完全成本法税前利润计算例题
  • 减免税款的会计分录在什么时候处理
  • 怎么做掉公司账户的钱
  • 出差的招待费怎么报销
  • 残保金每次缴纳都是一样的吗
  • 备用金与其他应收款的记账规则
  • 公共电话亭的话费收入如何做税务处理呢?
  • 住房公积金证书插上为什么登不进去
  • 实收资本借方增加还是减少
  • 旅行社开具发票
  • 财产转让所得税计算方法
  • 可供出售金融资产和长期股权投资
  • 季报每个月需要反写吗
  • 每月案例分析
  • 临时业务开票
  • 印花税资金账簿减免税优惠政策2021
  • 不是经营范围内的食品
  • 营业收入包括的项目有
  • 小规模开票软件服务费账务处理
  • 汇算清缴专项附加扣除去年忘记填的能补填吗?
  • 桌面或文件夹内无图标
  • 扣缴义务人申报和综合所得年度自行申报
  • 法人治理包括哪些方面
  • 预付办公用品费用,未收到发票
  • 华为鸿蒙harmonyos刷机
  • 出租商品计入什么科目
  • 福利费如何做会计分录
  • PHP:session_decode()的用法_Session函数
  • autorun.exe无法运行
  • 支付给员工的工伤赔偿款账务
  • kafka图形化界面
  • php数组实现原理
  • 原材料的盘盈与盘亏的会计处理
  • uniapp按钮
  • vue路由的几种方式
  • ChatGPT解开了我一直以来对自动化测试的疑惑
  • 什么是资产评估的价值类型
  • 销售退回的会计科目
  • 租赁公司一般都有什么税
  • System.Data.SQLite 数据库详细介绍
  • 2021年财政部令68号
  • 还有什么服务啊
  • 哪些企业可以不计提盈余公积
  • mysql数据表存储引擎
  • 纳税调整调减有哪些
  • 农业种植账务处理方法
  • 以无形资产换入固定资产发生的净损益
  • 装修费还没摊销怎么办
  • 税控盘没有抄税是什么意思
  • 出口退税的会计科目
  • 公司健身器材使用制度
  • 员工在异地缴纳社保,公司还能上吗
  • 代理服务费计入什么科目
  • 服务行业服务费怎么入账
  • 深入3DSTUDIOMAX
  • 如何修改mysql用户名
  • 深入Windows 第七版 第二部分
  • 苹果mac没有声音怎么办
  • centos docker安装部署
  • win8系统教程
  • vrvedp_m.exe是什么
  • 苹果电脑支持的u盘格式
  • Linux下查看某一个程序所使用的内存方法
  • linux哪些方法可以查看命令的详细信息
  • win7创建一个标准用户账户
  • jquery自执行
  • android ndk cmake
  • awk实例
  • unity3d初学者教程视频
  • 置顶怎么折叠起来
  • python验证整数
  • 如何用python创建数据集
  • js怎么获取密码框内容
  • 收藏一些不常用的图片
  • android adt
  • 创建android项目
  • 国税网上开票怎么不显示界面
  • 重庆黄桷垭在什么地方
  • 安徽税务发票查询入口
  • 大企业如何做好工作
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设