Просмотр исходного кода

Add memcache as session provider

Daniel Low 10 лет назад
Родитель
Сommit
ed16914715
4 измененных файлов с 7 добавлено и 3 удалено
  1. 3 1
      conf/defaults.ini
  2. 2 1
      docs/sources/installation/configuration.md
  3. 1 0
      pkg/middleware/session.go
  4. 1 1
      pkg/setting/setting.go

+ 3 - 1
conf/defaults.ini

@@ -67,7 +67,7 @@ path = grafana.db
 
 
 #################################### Session ####################################
 #################################### Session ####################################
 [session]
 [session]
-# Either "memory", "file", "redis", "mysql", "postgres", default is "file"
+# Either "memory", "file", "redis", "mysql", "postgres", "memcache", default is "file"
 provider = file
 provider = file
 
 
 # Provider config options
 # Provider config options
@@ -76,6 +76,8 @@ provider = file
 # redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=grafana`
 # redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=grafana`
 # postgres: user=a password=b host=localhost port=5432 dbname=c sslmode=disable
 # postgres: user=a password=b host=localhost port=5432 dbname=c sslmode=disable
 # mysql: go-sql-driver/mysql dsn config string, e.g. `user:password@tcp(127.0.0.1:3306)/database_name`
 # mysql: go-sql-driver/mysql dsn config string, e.g. `user:password@tcp(127.0.0.1:3306)/database_name`
+# memcache: 127.0.0.1:11211
+
 
 
 provider_config = sessions
 provider_config = sessions
 
 

+ 2 - 1
docs/sources/installation/configuration.md

@@ -355,7 +355,7 @@ Set to `true` to enable auto sign up of users who do not exist in Grafana DB. De
 
 
 ### provider
 ### provider
 
 
-Valid values are `memory`, `file`, `mysql`, `postgres`. Default is `file`.
+Valid values are `memory`, `file`, `mysql`, `postgres`, `memcache`. Default is `file`.
 
 
 ### provider_config
 ### provider_config
 
 
@@ -365,6 +365,7 @@ session provider you have configured.
 - **file:** session file path, e.g. `data/sessions`
 - **file:** session file path, e.g. `data/sessions`
 - **mysql:** go-sql-driver/mysql dsn config string, e.g. `user:password@tcp(127.0.0.1:3306)/database_name`
 - **mysql:** go-sql-driver/mysql dsn config string, e.g. `user:password@tcp(127.0.0.1:3306)/database_name`
 - **postgres:** ex:  user=a password=b host=localhost port=5432 dbname=c sslmode=disable
 - **postgres:** ex:  user=a password=b host=localhost port=5432 dbname=c sslmode=disable
+- **memcache:** ex:  127.0.0.1:11211
 
 
 If you use MySQL or Postgres as the session store you need to create the
 If you use MySQL or Postgres as the session store you need to create the
 session table manually.
 session table manually.

+ 1 - 0
pkg/middleware/session.go

@@ -8,6 +8,7 @@ import (
 	_ "github.com/macaron-contrib/session/mysql"
 	_ "github.com/macaron-contrib/session/mysql"
 	_ "github.com/macaron-contrib/session/postgres"
 	_ "github.com/macaron-contrib/session/postgres"
 	_ "github.com/macaron-contrib/session/redis"
 	_ "github.com/macaron-contrib/session/redis"
+	_ "github.com/macaron-contrib/session/memcache"
 )
 )
 
 
 const (
 const (

+ 1 - 1
pkg/setting/setting.go

@@ -473,7 +473,7 @@ func NewConfigContext(args *CommandLineArgs) error {
 func readSessionConfig() {
 func readSessionConfig() {
 	sec := Cfg.Section("session")
 	sec := Cfg.Section("session")
 	SessionOptions = session.Options{}
 	SessionOptions = session.Options{}
-	SessionOptions.Provider = sec.Key("provider").In("memory", []string{"memory", "file", "redis", "mysql", "postgres"})
+	SessionOptions.Provider = sec.Key("provider").In("memory", []string{"memory", "file", "redis", "mysql", "postgres", "memcache"})
 	SessionOptions.ProviderConfig = strings.Trim(sec.Key("provider_config").String(), "\" ")
 	SessionOptions.ProviderConfig = strings.Trim(sec.Key("provider_config").String(), "\" ")
 	SessionOptions.CookieName = sec.Key("cookie_name").MustString("grafana_sess")
 	SessionOptions.CookieName = sec.Key("cookie_name").MustString("grafana_sess")
 	SessionOptions.CookiePath = AppSubUrl
 	SessionOptions.CookiePath = AppSubUrl