diff --git a/internal/ldap/config.go b/internal/ldap/config.go index c88bd83..cc584a5 100644 --- a/internal/ldap/config.go +++ b/internal/ldap/config.go @@ -29,6 +29,7 @@ type Config struct { SyncFilter string `yaml:"syncFilter" envconfig:"LDAP_SYNC_FILTER"` AdminLdapGroup string `yaml:"adminGroup" envconfig:"LDAP_ADMIN_GROUP"` // Members of this group receive admin rights in WG-Portal AdminLdapGroup_ *gldap.DN `yaml:"-"` + EveryoneAdmin bool `yaml:"everyoneAdmin" envconfig:"LDAP_EVERYONE_ADMIN"` LdapCertConn bool `yaml:"ldapCertConn" envconfig:"LDAP_CERT_CONN"` LdapTlsCert string `yaml:"ldapTlsCert" envconfig:"LDAPTLS_CERT"` LdapTlsKey string `yaml:"ldapTlsKey" envconfig:"LDAPTLS_KEY"` diff --git a/internal/server/ldapsync.go b/internal/server/ldapsync.go index 55429d1..9bef96d 100644 --- a/internal/server/ldapsync.go +++ b/internal/server/ldapsync.go @@ -45,6 +45,9 @@ func (s *Server) SyncLdapWithUserDatabase() { } func (s Server) userIsInAdminGroup(ldapData *ldap.RawLdapData) bool { + if s.config.LDAP.EveryoneAdmin { + return true + } if s.config.LDAP.AdminLdapGroup_ == nil { return false }