From 3be7d3b2734f76762c0e137c6c2a093754c20277 Mon Sep 17 00:00:00 2001 From: Yang Luo Date: Sun, 1 Aug 2021 00:30:12 +0800 Subject: [PATCH] Support redis session. --- conf/app.conf | 1 + go.sum | 1 + main.go | 12 +++++++++--- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/conf/app.conf b/conf/app.conf index 8789c21a..064bafcd 100644 --- a/conf/app.conf +++ b/conf/app.conf @@ -6,6 +6,7 @@ copyrequestbody = true driverName = mysql dataSourceName = root:123@tcp(localhost:3306)/ dbName = casdoor +redisEndpoint = authState = "casdoor" httpProxy = "127.0.0.1:10808" verificationCodeTimeout = 10 \ No newline at end of file diff --git a/go.sum b/go.sum index 75dd984a..e7b57943 100644 --- a/go.sum +++ b/go.sum @@ -98,6 +98,7 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/snappy v0.0.0-20170215233205-553a64147049/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db h1:woRePGFeVFfLKN/pOkfl+p/TAqKOfFu+7KPlMVpok/w= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/gomodule/redigo v2.0.0+incompatible h1:K/R+8tc58AaqLkqG2Ol3Qk+DR/TlNuhuh457pBFPtt0= github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= diff --git a/main.go b/main.go index 7ce67083..2cd5d39b 100644 --- a/main.go +++ b/main.go @@ -18,6 +18,7 @@ import ( "github.com/astaxie/beego" "github.com/astaxie/beego/logs" "github.com/astaxie/beego/plugins/cors" + _ "github.com/astaxie/beego/session/redis" "github.com/casbin/casdoor/authz" "github.com/casbin/casdoor/controllers" "github.com/casbin/casdoor/object" @@ -51,9 +52,14 @@ func main() { beego.InsertFilter("*", beego.BeforeRouter, routers.RecordMessage) 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 + if beego.AppConfig.String("redisEndpoint") == "" { + beego.BConfig.WebConfig.Session.SessionProvider = "file" + beego.BConfig.WebConfig.Session.SessionProviderConfig = "./tmp" + } else { + beego.BConfig.WebConfig.Session.SessionProvider = "redis" + beego.BConfig.WebConfig.Session.SessionProviderConfig = beego.AppConfig.String("redisEndpoint") + } + beego.BConfig.WebConfig.Session.SessionGCMaxLifetime = 3600 * 24 * 30 //beego.BConfig.WebConfig.Session.SessionCookieSameSite = http.SameSiteNoneMode err := logs.SetLogger("file", `{"filename":"logs/casdoor.log","maxdays":99999}`)