allow_cors.go 727 字节
package middleware

import (
	"github.com/astaxie/beego/context"
	"github.com/astaxie/beego/plugins/cors"
)

func AllowCors() func(ctx *context.Context) {
	fn := cors.Allow(&cors.Options{
		//允许访问所有源
		AllowAllOrigins: true,
		//可选参数"GET", "POST", "PUT", "DELETE", "OPTIONS" (*为所有)
		//其中Options跨域复杂请求预检
		AllowMethods: []string{"*"},
		//指的是允许的Header的种类
		AllowHeaders: []string{"Origin", "Authorization", "Access-Control-Allow-Origin", "Content-Type", "x-requested-with"},
		//公开的HTTP标头列表
		ExposeHeaders: []string{"Content-Length"},
		//如果设置,则允许共享身份验证凭据,例如cookie
		AllowCredentials: true,
	})
	return fn
}