位置: 编程技术 - 正文

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

  • 我国增值税的纳税人是如何管理的
  • 应收利息增加会计分录
  • 高新企业申报指南
  • 保函费用是用来干什么的
  • 可转换债券含义
  • 进口设备的重置成本包括( )
  • 通行费进项抵扣政策
  • 补发工资如何计提
  • 会计折旧法有哪几种
  • 上市公司存货跌价准备怎么看
  • 专项用途财政资金纳税调整规则
  • 员工集体旅游费会计分录
  • 运输公司租入的车辆如何核算
  • 出售固定资产取得的收入
  • 分公司和总公司的财务是分开的吗
  • 货币的时间价值名词解释
  • 卖股票为什么要留一手
  • 开给个人的通讯费发票能下账吗
  • 建筑业企业所得税2%
  • 有限责任公司(自然人投资或控股)属于什么经济类型
  • 利润表净利润等于科目余额表
  • 网络直播应如何缴纳增值税?
  • 进项税和销项税月末怎么结转
  • 增值税普通发票怎么开
  • Win10中macos big sur虚拟机无法连接网络怎么办?
  • 存在弃置费用的固定资产,如果履行弃置义务
  • 怎样打开电脑wifi连接
  • 2020年预付卡增值税税收政策
  • 仓库折旧费
  • php字符串定义的三种方式
  • PHP:pg_result_error_field()的用法_PostgreSQL函数
  • excel多表操作法
  • debian配置
  • 固定资产非正常损失
  • 预付装修费的会计处理分录
  • php生成二维码海报
  • 机器学习中的数学原理——模型评估与交叉验证
  • push指令执行的详细过程
  • 发票错开退税款什么时候退回
  • 只有进项发票,没有销项可以吗
  • 小规模纳税人增值税账务处理
  • 发现以前年度的账错误
  • python dict.item()方法遍历字典
  • 会议费发票报销附件
  • 给员工购买住房公积金是先办卡吗?
  • 民办非企业保险优惠政策
  • sql2000数据迁移到2008
  • 预付款 退
  • 折价购买股权账务处理
  • 财务报表现金流量表怎么填
  • 出售金融商品的增值税计税依据
  • 房地产企业暂估成本所得税汇算
  • 公司费用分摊给各部门
  • 公司运营成本如何计算
  • 跨月报销的凭证有哪些
  • 厂家返利怎么入账
  • 未达起征点可以申请一次性创业补贴吗
  • 材料采购办法
  • 税务会计应该设什么岗位
  • 建立明细账的注意事项
  • mysql数据库优化总结
  • freebsd软件包
  • Windows Server 2008中审核和符合性
  • windows升级10
  • dell笔记本系统安装步骤
  • python中yield用法
  • glslpe
  • jqgrid设置宽度
  • 批处理杀死进程
  • 读长沙师范学院收费多少钱
  • android设计模式总结
  • javascript编程技术
  • unity游戏开发的技术路线有哪些
  • js实现超精简的快捷键
  • Python字符串数组
  • jquery修改表格数据
  • 医院体检怎么拿发票
  • 北京市地方税务局发票查验
  • 新形势下税务工作
  • 深圳如何举报税务违法
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设