Browse Source

feat: 默认打开session

tuon 1 year ago
parent
commit
385f5bb29e
2 changed files with 13 additions and 0 deletions
  1. 9 0
      server/config/config.go
  2. 4 0
      server/middleware/auth.go

+ 9 - 0
server/config/config.go

@@ -98,6 +98,15 @@ func init() {
 	OauthConfig.Scopes = beego.AppConfig.DefaultStrings("oauth2_scopes", []string{})
 	OauthConfig.Userinfo = beego.AppConfig.DefaultString("oauth2_userinfo", "")
 	OauthConfig.Enable = beego.AppConfig.DefaultBool("oauth2_enable", false)
+	// session 相关的配置
+	sessionon := beego.AppConfig.DefaultBool("sessionon", true)
+	beego.BConfig.WebConfig.Session.SessionOn = sessionon
+	sessionprovider := beego.AppConfig.DefaultString("sessionprovider", "file")
+	beego.BConfig.WebConfig.Session.SessionProvider = sessionprovider
+	sessionproviderconfig := beego.AppConfig.DefaultString("sessionproviderconfig", "./data/sessions")
+	beego.BConfig.WebConfig.Session.SessionProviderConfig = sessionproviderconfig
+	sessiongcmaxlifetime := beego.AppConfig.DefaultInt("sessiongcmaxlifetime", 7200)
+	beego.BConfig.WebConfig.Session.SessionCookieLifeTime = sessiongcmaxlifetime
 }
 
 func InitAdmin() {

+ 4 - 0
server/middleware/auth.go

@@ -64,6 +64,10 @@ func AuthFilter(ctx *context.Context) {
 	}
 	logs.Info(fmt.Sprintf("auth: %s,%s", ctx.Request.RequestURI, path))
 	sess := ctx.Input.CruSession
+	if sess == nil {
+		logs.Warn("no session found in request")
+		return
+	}
 	defer sess.SessionRelease(ctx.ResponseWriter)
 	data := sess.Get("user")
 	if data == nil {