【注意】最后更新于 March 17, 2023,文中内容可能已过时,请谨慎使用。
     
   
    
      1.什么是BasicAuth?
Basic Auth是一种开放平台认证方式,简单的说就是需要你输入用户名和密码才能继续访问。
2.在单路由中使用
	如果需要针对单个路由使用,要在单路由中注册BasicAuth中间件即可。
2.1 代码
|  1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
 | // 使用BasicAuth中间件
func main(){
    engine := gin.Default()
    // 设置账号和密码,key:代表账号,value:代表密码
    ginAccounts := gin.Accounts{
        "user":"password",
        "abc":"123",
    }
    // 注册路由和中间件
    engine.GET("/test",gin.BasicAuth(ginAccounts), func(context *gin.Context) {
        // 获取中间件BasicAuth
        user := context.MustGet(gin.AuthUserKey).(string)
        fmt.Println(user)
        context.JSON(200,gin.H{"msg":"success"})
    }) 
    _ = engine.Run()
}
 | 
 
2.2 访问效果

3.在路由组中使用
绝大部分情况下,我们都是在路由组中使用BasicAuth中间件。
3.1 代码
|  1
 2
 3
 4
 5
 6
 7
 8
 9
10
 | func RunUseBasicAuthWithGroup() {
    engine := gin.Default()
    // 注册路由组和中间件
    userGroup := engine.Group("/user", gin.BasicAuth(gin.Accounts{
        "abc": "123",
    }))
    userGroup.GET("info", func(context *gin.Context) {
        context.JSON(200, gin.H{"msg": "user.info"})
    })
}
 | 
 
访问效果同上。