中间件使用

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

跨域处理

允许跨域请求。

  1. package middleware
  2. import "github.com/gogf/gf/net/ghttp"
  3. // 允许接口跨域请求
  4. func CORS(r *ghttp.Request) {
  5. r.Response.CORSDefault()
  6. r.Middleware.Next()
  7. }

鉴权处理

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

  1. package middleware
  2. import (
  3. "github.com/gogf/gf-demos/app/service/user"
  4. "github.com/gogf/gf/net/ghttp"
  5. "net/http"
  6. )
  7. // 鉴权中间件,只有登录成功之后才能通过
  8. func Auth(r *ghttp.Request) {
  9. if user.IsSignedIn(r.Session) {
  10. r.Middleware.Next()
  11. } else {
  12. r.Response.WriteStatus(http.StatusForbidden)
  13. }
  14. }