|
@@ -45,15 +45,15 @@ type Oauther struct {
|
|
|
}
|
|
|
|
|
|
var (
|
|
|
- AppVer string
|
|
|
- AppName string
|
|
|
- AppLogo string
|
|
|
- AppUrl string
|
|
|
- IsProdMode bool
|
|
|
- Domain string
|
|
|
- SecretKey string
|
|
|
- RunUser string
|
|
|
- LdapAuth bool
|
|
|
+ AppVer string
|
|
|
+ AppName string
|
|
|
+ AppLogo string
|
|
|
+ AppUrl string
|
|
|
+ OfflineMode bool
|
|
|
+ ProdMode bool
|
|
|
+ Domain string
|
|
|
+ SecretKey string
|
|
|
+ RunUser string
|
|
|
|
|
|
RepoRootPath string
|
|
|
ScriptType string
|
|
@@ -93,6 +93,7 @@ var Service struct {
|
|
|
NotifyMail bool
|
|
|
ActiveCodeLives int
|
|
|
ResetPwdCodeLives int
|
|
|
+ LdapAuth bool
|
|
|
}
|
|
|
|
|
|
func ExecDir() (string, error) {
|
|
@@ -178,6 +179,36 @@ func newLogService() {
|
|
|
log.Info("Log Mode: %s(%s)", strings.Title(LogMode), levelName)
|
|
|
}
|
|
|
|
|
|
+func newLdapService() {
|
|
|
+ Service.LdapAuth = Cfg.MustBool("security", "LDAP_AUTH", false)
|
|
|
+ if !Service.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")
|
|
|
+ Service.LdapAuth = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ log.Info("LDAP Authentication Enabled")
|
|
|
+}
|
|
|
+
|
|
|
func newCacheService() {
|
|
|
CacheAdapter = Cfg.MustValue("cache", "ADAPTER", "memory")
|
|
|
if EnableRedis {
|
|
@@ -295,6 +326,7 @@ func NewConfigContext() {
|
|
|
AppLogo = Cfg.MustValue("", "APP_LOGO", "img/favicon.png")
|
|
|
AppUrl = Cfg.MustValue("server", "ROOT_URL")
|
|
|
Domain = Cfg.MustValue("server", "DOMAIN")
|
|
|
+ OfflineMode = Cfg.MustBool("server", "OFFLINE_MODE", false)
|
|
|
SecretKey = Cfg.MustValue("security", "SECRET_KEY")
|
|
|
|
|
|
InstallLock = Cfg.MustBool("security", "INSTALL_LOCK", false)
|
|
@@ -312,34 +344,6 @@ func NewConfigContext() {
|
|
|
LogInRememberDays = Cfg.MustInt("security", "LOGIN_REMEMBER_DAYS")
|
|
|
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 +361,7 @@ func NewConfigContext() {
|
|
|
func NewBaseServices() {
|
|
|
newService()
|
|
|
newLogService()
|
|
|
+ newLdapService()
|
|
|
newCacheService()
|
|
|
newSessionService()
|
|
|
newMailService()
|