中间件使用

源代码位置:

https://github.com/gogf/gf-demos/tree/master/app/service/middleware

跨域处理

允许跨域请求。

// 允许接口跨域请求
func (s *serviceMiddleware) CORS(r *ghttp.Request) {
    r.Response.CORSDefault()
    r.Middleware.Next()
}

鉴权处理

只有在用户登录后才可通过。

// 鉴权中间件,只有登录成功之后才能通过
func (s *serviceMiddleware) Auth(r *ghttp.Request) {
    if User.IsSignedIn(r.Context()) {
        r.Middleware.Next()
    } else {
        r.Response.WriteStatus(http.StatusForbidden)
    }
}

上下文注入

前一章节已介绍过。