// Copyright 2021 The casbin Authors. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package main import ( "github.com/astaxie/beego" "github.com/astaxie/beego/plugins/cors" "github.com/casdoor/casdoor/authz" "github.com/casdoor/casdoor/controllers" "github.com/casdoor/casdoor/object" "github.com/casdoor/casdoor/routers" _ "github.com/casdoor/casdoor/routers" ) func main() { object.InitAdapter() object.InitDb() controllers.InitHttpClient() authz.InitAuthz() beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{ AllowOrigins: []string{"*"}, AllowMethods: []string{"GET", "PUT", "PATCH"}, AllowHeaders: []string{"Origin"}, ExposeHeaders: []string{"Content-Length"}, AllowCredentials: true, })) //beego.DelStaticPath("/static") beego.SetStaticPath("/static", "web/build/static") // https://studygolang.com/articles/2303 beego.InsertFilter("*", beego.BeforeRouter, routers.StaticFilter) beego.InsertFilter("*", beego.BeforeRouter, routers.AutoLoginFilter) beego.InsertFilter("*", beego.BeforeRouter, routers.AuthzFilter) beego.BConfig.WebConfig.Session.SessionName = "casdoor_session_id" beego.BConfig.WebConfig.Session.SessionProvider = "file" beego.BConfig.WebConfig.Session.SessionProviderConfig = "./tmp" beego.BConfig.WebConfig.Session.SessionGCMaxLifetime = 3600 * 24 * 365 //beego.BConfig.WebConfig.Session.SessionCookieSameSite = http.SameSiteNoneMode beego.Run() }