From f36efe0b548959c29253cfe8b3a2d0c610cc0869 Mon Sep 17 00:00:00 2001 From: 6543 <24977596+6543@users.noreply.github.com> Date: Fri, 29 Nov 2019 06:28:38 +0100 Subject: Properly fix displaying virtual session provider in admin panel (#9137) (#9203) * Properly fix #7147 Although #7300 properly shadows the password from the virtual session provider, the template displaying the provider config still presumed that the config was JSON. This PR updates the template and properly hides the Virtual Session provider. Fixes #7147 * update per @silverwind's suggestion --- routers/admin/admin.go | 14 +++++++------- templates/admin/config.tmpl | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/routers/admin/admin.go b/routers/admin/admin.go index 4c4738ae8c..45bdbfe7f2 100644 --- a/routers/admin/admin.go +++ b/routers/admin/admin.go @@ -262,13 +262,7 @@ func shadowPassword(provider, cfgItem string) string { return shadowURL(provider, cfgItem) // postgres://pqgotest:password@localhost/pqgotest?sslmode=verify-full // Notice: use shadowURL - case "VirtualSession": - var realSession session.Options - if err := json.Unmarshal([]byte(cfgItem), &realSession); err == nil { - return shadowPassword(realSession.Provider, realSession.ProviderConfig) - } } - return cfgItem } @@ -314,8 +308,14 @@ func Config(ctx *context.Context) { ctx.Data["CacheItemTTL"] = setting.CacheService.TTL sessionCfg := setting.SessionConfig + if sessionCfg.Provider == "VirtualSession" { + var realSession session.Options + if err := json.Unmarshal([]byte(sessionCfg.ProviderConfig), &realSession); err != nil { + log.Error("Unable to unmarshall session config for virtualed provider config: %s\nError: %v", sessionCfg.ProviderConfig, err) + } + sessionCfg = realSession + } sessionCfg.ProviderConfig = shadowPassword(sessionCfg.Provider, sessionCfg.ProviderConfig) - ctx.Data["SessionConfig"] = sessionCfg ctx.Data["DisableGravatar"] = setting.DisableGravatar diff --git a/templates/admin/config.tmpl b/templates/admin/config.tmpl index 79eec31dfd..c2793ece9d 100644 --- a/templates/admin/config.tmpl +++ b/templates/admin/config.tmpl @@ -270,7 +270,7 @@
{{.i18n.Tr "admin.config.session_provider"}}
{{.SessionConfig.Provider}}
{{.i18n.Tr "admin.config.provider_config"}}
-
{{if .SessionConfig.ProviderConfig}}{{.SessionConfig.ProviderConfig  | JsonPrettyPrint}}{{else}}-{{end}}
+
{{if .SessionConfig.ProviderConfig}}{{.SessionConfig.ProviderConfig}}{{else}}-{{end}}
{{.i18n.Tr "admin.config.cookie_name"}}
{{.SessionConfig.CookieName}}
{{.i18n.Tr "admin.config.gc_interval_time"}}
-- cgit v1.2.3