update session

This commit is contained in:
slene 2014-03-22 20:49:53 +08:00
parent 0d1872ebe3
commit f9c07c4186
7 changed files with 79 additions and 21 deletions

View file

@ -16,6 +16,7 @@ import (
"github.com/Unknwon/goconfig"
"github.com/gogits/cache"
"github.com/gogits/session"
"github.com/gogits/gogs/modules/log"
)
@ -49,6 +50,10 @@ var (
LogMode string
LogConfig string
SessionProvider string
SessionConfig *session.Config
SessionManager *session.Manager
)
var Service struct {
@ -164,6 +169,30 @@ func newCacheService() {
log.Info("Cache Service Enabled")
}
func newSessionService() {
SessionProvider = Cfg.MustValue("session", "PROVIDER", "memory")
SessionConfig = new(session.Config)
SessionConfig.ProviderConfig = Cfg.MustValue("session", "PROVIDER_CONFIG")
SessionConfig.CookieName = Cfg.MustValue("session", "COOKIE_NAME", "i_like_gogits")
SessionConfig.CookieSecure = Cfg.MustBool("session", "COOKIE_SECURE")
SessionConfig.EnableSetCookie = Cfg.MustBool("session", "ENABLE_SET_COOKIE", true)
SessionConfig.GcIntervalTime = Cfg.MustInt64("session", "GC_INTERVAL_TIME", 86400)
SessionConfig.SessionLifeTime = Cfg.MustInt64("session", "SESSION_LIFE_TIME", 86400)
SessionConfig.SessionIDHashFunc = Cfg.MustValue("session", "SESSION_ID_HASHFUNC", "sha1")
SessionConfig.SessionIDHashKey = Cfg.MustValue("session", "SESSION_ID_HASHKEY")
var err error
SessionManager, err = session.NewManager(SessionProvider, *SessionConfig)
if err != nil {
fmt.Printf("Init session system failed, provider: %s, %v\n",
SessionProvider, err)
os.Exit(2)
}
log.Info("Session Service Enabled")
}
func newMailService() {
// Check mailer setting.
if Cfg.MustBool("mailer", "ENABLED") {
@ -234,6 +263,7 @@ func NewServices() {
newService()
newLogService()
newCacheService()
newSessionService()
newMailService()
newRegisterMailService()
}