久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      Gin 中實現(xiàn) HTTP Basic Auth

      Gin 中實現(xiàn) HTTP  Basic Auth

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

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

      gin 是我最喜歡的 web 框架之一,因為它有很多非常酷的中間件,它有點像 node.js 的express 框架 或 hapijs。

      安裝 Gin 框架 & 打印 Hello World

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

      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,應該可以看到 「message:Hello World !」

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

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


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

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

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

      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)聽服務在 0.0.0.0:8080 }
      1. import 中多導入了一個 net/http 包, 用于格式化 http 響應的狀態(tài)碼。
      2. 在授權訪問的組中添加了部分用戶。
      3. authorized.GET 只允許用戶輸入正確的組合。 它就像普通的路由器功能一樣,但它需要身份驗證

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

      當你在你的瀏覽器中訪問 localhost:8080/secret,你應該看到一個窗口提示你輸入用戶名和密碼。
      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 的路由!

      如果你想要更詳細的例子,請查看 Github 上 gin 的 README.md ,因為它有幾個很好的例子!

      推薦教程:《Go教程》

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號