Searching...

[TOC]

中间件使用

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

跨域处理

允许跨域请求。

package middleware

import "github.com/gogf/gf/net/ghttp"

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

鉴权处理

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

package middleware

import (
	"github.com/gogf/gf-demos/app/service/user"
	"github.com/gogf/gf/net/ghttp"
	"net/http"
)

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