第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

向 Echo 路由中間件傳遞參數(shù)

向 Echo 路由中間件傳遞參數(shù)

Go
紫衣仙女 2023-07-26 17:44:31
如何在 Echo 中向中間件傳遞參數(shù)?有一個(gè)例子說(shuō)明了我想要實(shí)現(xiàn)的目標(biāo)。func (h *handlers) Check(pm string, next echo.HandlerFunc) echo.HandlerFunc {    return func(c echo.Context) error {        if pm == "test" {            return next(c)        }        return echo.NewHTTPError(http.StatusUnauthorized, "")    }}我想這樣設(shè)置中間件:route.Use(middleware.Check("test input"))
查看完整描述

1 回答

?
慕尼黑5688855

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊

您可以使用閉包將參數(shù)傳遞給中間件,如下所示:


func (h *handlers) Check(adminName string) echo.MiddlewareFunc {

    return func(next echo.HandlerFunc) echo.HandlerFunc {

        return func(c echo.Context) error {

            if c.QueryParam("username") == adminName {

                return next(c)

            }

            return echo.NewHTTPError(http.StatusUnauthorized, "")

        }

    }

}

這里中間件檢查查詢(xún)參數(shù)是否username與中間件參數(shù)匹配adminName。在這個(gè)例子中,任何人只要知道正確的用戶名就可以獲得管理員狀態(tài),因此沒(méi)有安全性。您可能想改用 BasicAuth 或 JWT 中間件,它們已經(jīng)可用于echo. 看一下echo/middleware/basic_auth.go更好的例子。


您可以按照問(wèn)題中的方式設(shè)置中間件:


route.Use(middleware.Check("admin"))


查看完整回答
反對(duì) 回復(fù) 2023-07-26
  • 1 回答
  • 0 關(guān)注
  • 144 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)