|
@@ -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()
|