...
|
...
|
@@ -2,6 +2,7 @@ package beego |
|
|
|
|
|
import (
|
|
|
"encoding/json"
|
|
|
"net/http"
|
|
|
"os"
|
|
|
"strconv"
|
|
|
|
...
|
...
|
@@ -45,7 +46,7 @@ func init() { |
|
|
}
|
|
|
|
|
|
filters.SecureKeyMap["token"] = "x-mmm-accesstoken"
|
|
|
web.InsertFilter("/*", web.BeforeRouter, filters.AllowCors())
|
|
|
web.InsertFilter("/*", web.BeforeRouter, AllowCors())
|
|
|
web.InsertFilter("/*", web.BeforeRouter, filters.CreateRequstLogFilter(log.Logger))
|
|
|
web.InsertFilter("/v1/web/*", web.BeforeExec, middleware.CheckAccessToken2())
|
|
|
web.InsertFilter("/v1/app/*", web.BeforeExec, middleware.CheckAccessToken2())
|
...
|
...
|
@@ -60,3 +61,19 @@ func init() { |
|
|
))
|
|
|
//web.InsertFilterChain("/v1/*", middleware.CheckAccessToken)
|
|
|
}
|
|
|
|
|
|
func AllowCors() func(ctx *context.Context) {
|
|
|
return func(ctx *context.Context) {
|
|
|
ctx.Output.Header("Access-Control-Allow-Methods", "OPTIONS,DELETE,POST,GET,PUT,PATCH")
|
|
|
//ctx.Output.Header("Access-Control-Max-Age", "3600")
|
|
|
//ctx.Output.Header("Access-Control-Allow-Headers", "*,x-mmm-version")
|
|
|
ctx.Output.Header("Access-Control-Allow-Headers", "Content-Type,X-Mmm-Accesstoken,X-Mmm-Devicetype,X-Mmm-Sign,X-Mmm-Timestamp,X-Mmm-Uuid,X-Mmm-Version")
|
|
|
ctx.Output.Header("Access-Control-Allow-Credentials", "true")
|
|
|
ctx.Output.Header("Access-Control-Allow-Origin", "*") //origin
|
|
|
if ctx.Input.Method() == http.MethodOptions {
|
|
|
// options请求,返回200
|
|
|
ctx.Output.SetStatus(http.StatusOK)
|
|
|
_ = ctx.Output.Body([]byte("options support"))
|
|
|
}
|
|
|
}
|
|
|
} |
...
|
...
|
|