位置: 编程技术 - 正文

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

  • 印花税购销合同包括哪些
  • 软件企业减免企业所得税
  • 赊销和分销时纳税义务发生时间是什么时候?
  • 对公转账房租怎么备注
  • 个体户转一般纳税人怎么做账
  • 甲方给的工程奖项有哪些
  • 包工包料怎么开税票合适
  • 卷票发票校验码在哪里
  • 会计做账借贷怎么做
  • 有红字发票如何入账
  • 发票代码有误什么意思
  • 采购货款属于什么会计科目
  • 无形资产建造期间的摊销记在哪里
  • 养老保险缴纳比例是固定的吗
  • 预收账款多了好还是少了好
  • 本年度应收账款是否应该加起初
  • 增值税月报时间
  • 停车场吗
  • 安全生产费纳税调整政策
  • 税局定额的标准
  • 缴纳的住房公积金计入什么科目
  • 企业转让二手房增值税
  • 一般企业车辆日期怎么算
  • 五联折叠票和两联折叠票的区别
  • window10安装教程u盘
  • win10应用商店下载的软件在哪
  • 跨年的费用怎么做账
  • 个税手续费反还
  • 资产负债表的编制依据是会计恒等式
  • 图神经网络gat
  • 每个建筑项目都有监理吗
  • 生产型企业出口退税退的是哪部分的税
  • php文件怎么创建
  • yolov3 改进
  • 关系代数关系运算
  • return函数
  • 转回已核销的坏账分录
  • 企业缴纳职工社保需要每月去社保局吗
  • 跨年的增值税专票怎么开
  • 增值税为什么不能在税前扣除
  • 房地产企业的固定资产比率越高越好吗
  • 承兑汇票贴现的利率
  • 劳务报酬所得与工资薪金所得纳税的区别
  • sqlserver数据库指定目录
  • 三免三减半如何申报
  • 平行结转分步法各步骤的费用
  • 借贷记账法的基本规则和账户结构
  • 出口退的税交附加税吗
  • 对方公司倒闭应收账款,销售需要承担吗
  • 代扣代缴的增值税算进项税吗
  • 从工程款中扣除质保金
  • 行政事业单位支出范围和标准
  • 进项税和销项税月末怎么结转
  • 劳务报酬与经营所得
  • sql比较数值大小
  • mysql免安装版本
  • gho文件硬盘安装
  • wrsvn.exe是什么
  • windows怎样设置
  • win10怎么设置允许远程
  • android7应用程序开发教程
  • vmware tools安装包在哪
  • win10预览版和正式版区别
  • macbook外接多个显示器
  • 32位系统的电脑可以连接打印机吗
  • win10系统中怎么安装安卓应用
  • win8.1系统更新
  • opengl基础知识
  • 跑酷游戏cs
  • android获取音频信息
  • 跨域资源共享漏洞怎么修复
  • js如何深度克隆一个对象
  • node.js模块
  • js最简单的代码
  • nodejs init
  • 基于android的简单程序
  • jQuery EasyUI中DataGird动态生成列的方法
  • 爱加密企业版
  • 安卓程序切换
  • 一般纳税人申请流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设