位置: 编程技术 - 正文

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

发布时间:2024-01-17

推荐整理分享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钩子场景)

  • 专票打印偏下可以用吗
  • 弱电系统多少钱
  • 停用的厂房折旧吗
  • 私募基金超募如何购买
  • 没有发票如何报账
  • 佣金支出和手续费税前扣除相关政策依据及会计处理
  • 银行多扣钱可以多倍赔偿吗
  • 税金及附加怎么计提
  • 项目部分回款是什么意思
  • 微信支付工资怎么做账
  • 解除合同补偿金需要缴纳个税吗
  • 合同没签定金可以退的吗
  • 医院业务支出包括哪些内容科目
  • 哪些费用可在缴纳企业所得税前扣除呢?
  • 营改增劳务派遣
  • 质保金的税务处理
  • 代开专票作废需要什么资料?
  • 增值税附表三怎么填 举例说明
  • 子公司注销投资收益是否纳税合并层面
  • 物业会计科目设置
  • 行政单位需要缴税吗
  • 公司用备用金去哪里投诉
  • 企业实缴出资额怎么查
  • 无票收入可以存钱吗
  • 一般商业企业要缴纳哪些税?
  • 发票失联企业不处理的后果
  • 全免增值税企业所得税吗
  • 主板类型大全
  • el-cascader动态加载多级
  • 小规模纳税人取得防伪税控系统普通发票
  • 买点肥料
  • win7如何打开管理员权限
  • 购买产品优惠计入什么科目
  • php数组实现
  • 物资销售经营范围
  • 利润增减幅度
  • PHP:cal_days_in_month()的用法_日历函数
  • 会计账务处理年限规定
  • 大熊雨林中一只小熊
  • 促销品的账务处理按售价算吗
  • php 5
  • php计算多个集合的数据
  • 程序员未来会失业吗
  • css实现文字颜色渐变
  • java开源二次开发平台
  • wget下载yum
  • 结转销售成本的凭证需要附件吗
  • 递延所得税的会计应用
  • 收到的赔款,罚款怎么算
  • 被投资的公司注销后投资公司怎么处理
  • 销售边角料的会计分录
  • 带息票据和不带息票据怎么区分
  • 固定资产折旧计算表模板
  • 银行存款产生的利息收入
  • 费用的分摊要注意什么
  • 超市购物 发票
  • 什么是一般公共预算财政拨款
  • 缴纳增值税附加税
  • 融资租赁与按揭的区别
  • 研发废料收入会计科目
  • 检测公司成本科目
  • 没有计提社保如何处理
  • 如何理解股权激励
  • 不固定参数的存储器
  • ubuntu选择语言
  • win 注册表
  • Ubuntu Server 13.10 安装配置图解教程
  • win8命令提示符管理员怎么打开
  • 惠普装xp系统
  • linux怎么切到桌面
  • Win7系统启动qq无法访问个人文件怎么解决
  • 附件中的应用程序
  • linux中rename命令详解
  • 使用vue-cli快速搭建vue项目
  • vue全家桶包含哪些
  • javascript高级程序设计电子书
  • unity2d角色换装
  • jQuery ajax方法传递中文时出现中文乱码的解决方法
  • 发票 字体
  • 个体工商户定期定额核定
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号