|
|
|
@ -178,6 +178,36 @@ func newLogService() { |
|
|
|
|
log.Info("Log Mode: %s(%s)", strings.Title(LogMode), levelName) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func newLdapService() { |
|
|
|
|
LdapAuth = Cfg.MustBool("security", "LDAP_AUTH", false) |
|
|
|
|
if !LdapAuth { |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
nbsrc := 0 |
|
|
|
|
for _, v := range Cfg.GetSectionList() { |
|
|
|
|
if matched, _ := regexp.MatchString("(?i)^LDAPSOURCE.*", v); matched { |
|
|
|
|
ldapname := Cfg.MustValue(v, "name", v) |
|
|
|
|
ldaphost := Cfg.MustValue(v, "host") |
|
|
|
|
ldapport := Cfg.MustInt(v, "port", 389) |
|
|
|
|
ldapbasedn := Cfg.MustValue(v, "basedn", "dc=*,dc=*") |
|
|
|
|
ldapattribute := Cfg.MustValue(v, "attribute", "mail") |
|
|
|
|
ldapfilter := Cfg.MustValue(v, "filter", "(*)") |
|
|
|
|
ldapmsadsaformat := Cfg.MustValue(v, "MSADSAFORMAT", "%s") |
|
|
|
|
ldap.AddSource(ldapname, ldaphost, ldapport, ldapbasedn, ldapattribute, ldapfilter, ldapmsadsaformat) |
|
|
|
|
nbsrc++ |
|
|
|
|
log.Debug("%s added as LDAP source", ldapname) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if nbsrc == 0 { |
|
|
|
|
log.Warn("No valide LDAP found, LDAP Authentication NOT enabled") |
|
|
|
|
LdapAuth = false |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
log.Info("LDAP Authentication Enabled") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func newCacheService() { |
|
|
|
|
CacheAdapter = Cfg.MustValue("cache", "ADAPTER", "memory") |
|
|
|
|
if EnableRedis { |
|
|
|
@ -313,33 +343,6 @@ func NewConfigContext() { |
|
|
|
|
CookieUserName = Cfg.MustValue("security", "COOKIE_USERNAME") |
|
|
|
|
CookieRememberName = Cfg.MustValue("security", "COOKIE_REMEMBER_NAME") |
|
|
|
|
|
|
|
|
|
// load LDAP authentication configuration if present
|
|
|
|
|
LdapAuth = Cfg.MustBool("security", "LDAP_AUTH", false) |
|
|
|
|
if LdapAuth { |
|
|
|
|
qlog.Debug("LDAP AUTHENTICATION activated") |
|
|
|
|
nbsrc := 0 |
|
|
|
|
for _, v := range Cfg.GetSectionList() { |
|
|
|
|
if matched, _ := regexp.MatchString("(?i)^LDAPSOURCE.*", v); matched { |
|
|
|
|
ldapname := Cfg.MustValue(v, "name", v) |
|
|
|
|
ldaphost := Cfg.MustValue(v, "host") |
|
|
|
|
ldapport := Cfg.MustInt(v, "port", 389) |
|
|
|
|
ldapbasedn := Cfg.MustValue(v, "basedn", "dc=*,dc=*") |
|
|
|
|
ldapattribute := Cfg.MustValue(v, "attribute", "mail") |
|
|
|
|
ldapfilter := Cfg.MustValue(v, "filter", "(*)") |
|
|
|
|
ldapmsadsaformat := Cfg.MustValue(v, "MSADSAFORMAT", "%s") |
|
|
|
|
ldap.AddSource(ldapname, ldaphost, ldapport, ldapbasedn, ldapattribute, ldapfilter, ldapmsadsaformat) |
|
|
|
|
nbsrc += 1 |
|
|
|
|
qlog.Debug("%s added as LDAP source", ldapname) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if nbsrc == 0 { |
|
|
|
|
qlog.Debug("No valide LDAP found, LDAP AUTHENTICATION NOT activated") |
|
|
|
|
LdapAuth = false |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
qlog.Debug("LDAP AUTHENTICATION NOT activated") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
PictureService = Cfg.MustValue("picture", "SERVICE") |
|
|
|
|
|
|
|
|
|
// Determine and create root git reposiroty path.
|
|
|
|
@ -357,6 +360,7 @@ func NewConfigContext() { |
|
|
|
|
func NewBaseServices() { |
|
|
|
|
newService() |
|
|
|
|
newLogService() |
|
|
|
|
newLdapService() |
|
|
|
|
newCacheService() |
|
|
|
|
newSessionService() |
|
|
|
|
newMailService() |
|
|
|
|