真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Gin中實現(xiàn)HTTP和BasicAuth的方法

這篇文章運用簡單易懂的例子給大家介紹Gin中實現(xiàn)HTTP和Basic Auth的方法,文章內(nèi)容步步緊湊,希望大家根據(jù)這篇文章可以有所收獲。

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、怒江州ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的怒江州網(wǎng)站制作公司

我一直在研究 Go,具體的說應(yīng)該是一直在研究  gin 。我的 pet 項目需要一個快速而粗糙的身份認(rèn)證。

通常我不會建議使用 HTTP / basic auth 來保護資源,但對于這個項目,我沒有數(shù)據(jù)庫,我只是在這里和那里提供一些 markdown 文件。所以我這里會采用 HTTP / basic auth 來做身份認(rèn)證。

gin 是我最喜歡的 web 框架之一,因為它有很多非??岬闹虚g件,它有點像 node.js 的express 框架 或 hapijs。

安裝 Gin 框架 & 打印 Hello World

如果你在 go/src 目錄下創(chuàng)建了一個 gin-http-auth 的項目,在項目的 main.go 文件里添加的的內(nèi)容如下:

package main

import "github.com/gin-gonic/gin"

func main() {
    r := gin.Default()
    r.GET("/", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "Hello World!",
        })
    })
    r.Run() //監(jiān)聽 0.0.0.0:8080 
}

接著在你的終端上運行 go get 命令,你的項目就開始運行了! 您現(xiàn)在需要通過運行以下命令啟動剛出爐的 JSON API:

go run main.go

你可以在你的瀏覽器中輸入 localhost:8080,應(yīng)該可以看到 「message:Hello World !」

注意:提供 API 可能是 gin 的更大應(yīng)用場景之一,但是你也可以直接渲染一系列模板。

用 Gin 框架來實現(xiàn)路由保護


假設(shè)你現(xiàn)在有一個 secret 的方法,你不希望所有人通過 url 訪問的到,這是一個特殊的燒烤醬配方或一封含有一些不可告人的細(xì)節(jié)的的情書!

我們需要設(shè)置一些示例用戶帳戶并創(chuàng)建一個 secret 的路由,當(dāng)然我們也可以設(shè)置一個默認(rèn)的路由 /。

讓我們來看看這個最小可行的例子:

package main

import (
    "net/http"

    "github.com/gin-gonic/gin"
)

func main() {
    r := gin.Default()

    r.GET("/", func(c *gin.Context) {
        c.JSON(http.StatusOK, gin.H{
            "message": "Hello World!",
        })
    })

    authorized := r.Group("/", gin.BasicAuth(gin.Accounts{
        "user1": "love",
        "user2": "god",
        "user3": "sex",
    }))

    authorized.GET("/secret", func(c *gin.Context) {
        c.JSON(http.StatusOK, gin.H{
            "secret": "The secret ingredient to the BBQ sauce is stiring it in an old whiskey barrel.",
        })
    })

    r.Run() // 監(jiān)聽服務(wù)在 0.0.0.0:8080
}
  1. import 中多導(dǎo)入了一個 net/http 包, 用于格式化 http 響應(yīng)的狀態(tài)碼。
  2. 在授權(quán)訪問的組中添加了部分用戶。
  3. authorized.GET 只允許用戶輸入正確的組合。 它就像普通的路由器功能一樣,但它需要身份驗證

當(dāng)您更改文件內(nèi)容時,請按「CTRL + C」以快速運行 Gin 框架的實例并重新啟動它.

當(dāng)你在你的瀏覽器中訪問 localhost:8080/secret,你應(yīng)該看到一個窗口提示你輸入用戶名和密碼。
Gin中實現(xiàn)HTTP和Basic Auth的方法

如果你正確輸入的賬戶和密碼,你將看到以下輸出:

secret    "The secret ingredient to the BBQ sauce is stiring it in an old whiskey barrel."

就這樣已經(jīng)搞定了! 你在 Go web 項目中創(chuàng)造了一個需要 http basic auth 的路由!

以上就是Gin中實現(xiàn)HTTP和Basic Auth的方法,詳細(xì)使用情況還需要大家自己親自動手使用過才能領(lǐng)會。如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


本文標(biāo)題:Gin中實現(xiàn)HTTP和BasicAuth的方法
網(wǎng)頁URL:http://weahome.cn/article/ieioed.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部