GO 语言 gin 第12篇 自定义中间件,使用BasicAuth中间件

本文介绍了Go语言 Gin框架中如何自定义中间件,特别是在HTTP Basic Authentication的应用。通过设置 gin.HandlerFunc 作为中间件返回值,可以在请求前和请求后执行特定代码。同时展示了如何使用 `gin.BasicAuth()` 中间件,该中间件要求提供一个map[string]string类型的参数,用于设置用户名和密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Basic Authentication是一种HTTP访问控制方式,用于限制对网站资源的访问。这种方式不需要Cookie和Session,只需要客户端发起请求的时候,在头部Header中提交用户名和密码就可以。如果没有附加,会弹出一个对话框,要求输入用户名和密码。这种方式实施起来非常简单,适合路由器之类小型系统。但是它不提供信息加密措施,通常都是以明文或者base64编码传输。

在网络嗅探中,Basic Authentication信息非常有价值,因为此类信息往往和路由器之类设备相关,并且不存在解密的困扰。

 

1. 自定义中间件:

     中间件 的返回值类型 :gin.HandlerFunc 

     返回值是 :func(c *gin.Context){}

     返回值中 : c.Next 之前代码会在api请求初始化时执行。

     time.Since(time.Now()) 后的代码 会在请求后执行。

      访问状态 获取方式 : c.Writer.Status()

      使用 c.set 设置的 key,value  值, 可在 api 中使用。使用c.MustGet(key)

      获取。

 

      如果 在代码中 没有 c.Next, time.Since 默认 中间件会在初始化api时执行。

        示例:

package main

import (
	"github.com/gin-gonic/gin"
	_ "github.com/jinzhu/gorm/dialects/mysq
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值