Commit ed169147 by Daniel Low

Add memcache as session provider

parent d7ee7cb8
...@@ -67,7 +67,7 @@ path = grafana.db ...@@ -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 ...@@ -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
......
...@@ -355,7 +355,7 @@ Set to `true` to enable auto sign up of users who do not exist in Grafana DB. De ...@@ -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. ...@@ -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.
......
...@@ -8,6 +8,7 @@ import ( ...@@ -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 (
......
...@@ -473,7 +473,7 @@ func NewConfigContext(args *CommandLineArgs) error { ...@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment