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