github.com/gogf/gf@v1.16.9/.example/net/ghttp/server/middleware/auth_exception.go (about) 1 package main 2 3 import ( 4 "net/http" 5 6 "github.com/gogf/gf/frame/g" 7 "github.com/gogf/gf/net/ghttp" 8 ) 9 10 func MiddlewareAuth(r *ghttp.Request) { 11 token := r.Get("token") 12 if token == "123456" { 13 r.Middleware.Next() 14 } else { 15 r.Response.WriteStatus(http.StatusForbidden) 16 } 17 } 18 19 func main() { 20 s := g.Server() 21 s.Group("/admin", func(group *ghttp.RouterGroup) { 22 group.Middleware(func(r *ghttp.Request) { 23 if action := r.GetRouterString("action"); action != "" { 24 switch action { 25 case "login": 26 r.Middleware.Next() 27 return 28 } 29 } 30 MiddlewareAuth(r) 31 }) 32 group.ALL("/login", func(r *ghttp.Request) { 33 r.Response.Write("login") 34 }) 35 group.ALL("/dashboard", func(r *ghttp.Request) { 36 r.Response.Write("dashboard") 37 }) 38 }) 39 s.SetPort(8199) 40 s.Run() 41 }