diff options
| author | James Elliott <james-d-elliott@users.noreply.github.com> | 2025-02-23 19:05:57 +1100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-23 08:05:57 +0000 |
| commit | 0af038e0ced689db90da480876a0bb26d78c6fb9 (patch) | |
| tree | 5d97fe07636fcc5f7c6d87d6535bc5e1f0a9f2eb /internal/configuration/validator/authentication.go | |
| parent | 197b45521f5e3799d0b9ef1ec0000d4f83abdee9 (diff) | |
feat(authentication): ldap connection pooling (#7217)
This implements optional LDAP connection pooling to optimize the speed of LDAP transactions.
Signed-off-by: James Elliott <james-d-elliott@users.noreply.github.com>
Diffstat (limited to 'internal/configuration/validator/authentication.go')
| -rw-r--r-- | internal/configuration/validator/authentication.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/internal/configuration/validator/authentication.go b/internal/configuration/validator/authentication.go index e53c7695d..c0dde8a26 100644 --- a/internal/configuration/validator/authentication.go +++ b/internal/configuration/validator/authentication.go @@ -349,6 +349,20 @@ func validateLDAPAuthenticationBackend(config *schema.AuthenticationBackend, val validator.Push(fmt.Errorf(errFmtLDAPAuthBackendTLSConfigInvalid, err)) } + if config.LDAP.Pooling.Enable { + if config.LDAP.Pooling.Count < 1 { + config.LDAP.Pooling.Count = schema.DefaultLDAPAuthenticationBackendConfigurationImplementationCustom.Pooling.Count + } + + if config.LDAP.Pooling.Retries < 1 { + config.LDAP.Pooling.Retries = schema.DefaultLDAPAuthenticationBackendConfigurationImplementationCustom.Pooling.Retries + } + + if config.LDAP.Pooling.Timeout < 1 { + config.LDAP.Pooling.Timeout = schema.DefaultLDAPAuthenticationBackendConfigurationImplementationCustom.Pooling.Timeout + } + } + if strings.Contains(config.LDAP.UsersFilter, "{0}") { validator.Push(fmt.Errorf(errFmtLDAPAuthBackendFilterReplacedPlaceholders, "users_filter", "{0}", "{input}")) } |
