2 回答

TA貢獻1862條經(jīng)驗 獲得超7個贊
除了 fstanis在這里回答的內(nèi)容之外,我想指出您應(yīng)該注意 echo group 對象的引用。
所以我認為你應(yīng)該這樣做
e := echo.New()
g := e.Group("")
g.Use(middleware.BasicAuth(func(username, password string, c echo.Context) (bool, error) {
if username == "joe" && password == "secret" {
return true, nil
}
return false, nil
}))
// note that it was previously referring to the echo instance, not group.
g.GET("/", func(c echo.Context) error {
return c.HTML(http.StatusOK, html)
})
注意是g指組e.Group(""),這樣可以確保 GET "/" 的處理程序?qū)⒎祷卣_的html。因此,基本身份驗證中間件是應(yīng)用在 Group 還是 Echo 的根實例上沒有歧義e。

TA貢獻1934條經(jīng)驗 獲得超2個贊
您正在Group為您的路線注冊一個內(nèi)部回調(diào)。相反,您想在頂層注冊組并向它們添加路由:
e := echo.New()
g := e.Group("")
g.Use(middleware.BasicAuth(func(username, password string, c echo.Context) (bool, error) {
if username == "joe" && password == "secret" {
return true, nil
}
return false, nil
}))
e.GET("/", func(c echo.Context) error {
return c.HTML(http.StatusOK, html)
})
- 2 回答
- 0 關(guān)注
- 117 瀏覽
添加回答
舉報