Properly fix displaying virtual session provider in admin panel (#9137)
* Properly fix #7127 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 #7127 * update per @silverwind's suggestion
This commit is contained in:
parent
3bdce82ce9
commit
54dab5aed9
2 changed files with 8 additions and 8 deletions
|
@ -262,13 +262,7 @@ func shadowPassword(provider, cfgItem string) string {
|
||||||
return shadowURL(provider, cfgItem)
|
return shadowURL(provider, cfgItem)
|
||||||
// postgres://pqgotest:password@localhost/pqgotest?sslmode=verify-full
|
// postgres://pqgotest:password@localhost/pqgotest?sslmode=verify-full
|
||||||
// Notice: use shadowURL
|
// 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
|
return cfgItem
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -314,8 +308,14 @@ func Config(ctx *context.Context) {
|
||||||
ctx.Data["CacheItemTTL"] = setting.CacheService.TTL
|
ctx.Data["CacheItemTTL"] = setting.CacheService.TTL
|
||||||
|
|
||||||
sessionCfg := setting.SessionConfig
|
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)
|
sessionCfg.ProviderConfig = shadowPassword(sessionCfg.Provider, sessionCfg.ProviderConfig)
|
||||||
|
|
||||||
ctx.Data["SessionConfig"] = sessionCfg
|
ctx.Data["SessionConfig"] = sessionCfg
|
||||||
|
|
||||||
ctx.Data["DisableGravatar"] = setting.DisableGravatar
|
ctx.Data["DisableGravatar"] = setting.DisableGravatar
|
||||||
|
|
|
@ -270,7 +270,7 @@
|
||||||
<dt>{{.i18n.Tr "admin.config.session_provider"}}</dt>
|
<dt>{{.i18n.Tr "admin.config.session_provider"}}</dt>
|
||||||
<dd>{{.SessionConfig.Provider}}</dd>
|
<dd>{{.SessionConfig.Provider}}</dd>
|
||||||
<dt>{{.i18n.Tr "admin.config.provider_config"}}</dt>
|
<dt>{{.i18n.Tr "admin.config.provider_config"}}</dt>
|
||||||
<dd><pre>{{if .SessionConfig.ProviderConfig}}{{.SessionConfig.ProviderConfig | JsonPrettyPrint}}{{else}}-{{end}}</pre></dd>
|
<dd><code>{{if .SessionConfig.ProviderConfig}}{{.SessionConfig.ProviderConfig}}{{else}}-{{end}}</code></dd>
|
||||||
<dt>{{.i18n.Tr "admin.config.cookie_name"}}</dt>
|
<dt>{{.i18n.Tr "admin.config.cookie_name"}}</dt>
|
||||||
<dd>{{.SessionConfig.CookieName}}</dd>
|
<dd>{{.SessionConfig.CookieName}}</dd>
|
||||||
<dt>{{.i18n.Tr "admin.config.gc_interval_time"}}</dt>
|
<dt>{{.i18n.Tr "admin.config.gc_interval_time"}}</dt>
|
||||||
|
|
Loading…
Reference in a new issue