diff options
Diffstat (limited to 'cobbler/modules/authn_ldap.py')
-rw-r--r-- | cobbler/modules/authn_ldap.py | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/cobbler/modules/authn_ldap.py b/cobbler/modules/authn_ldap.py index d30e87d0..e4313e07 100644 --- a/cobbler/modules/authn_ldap.py +++ b/cobbler/modules/authn_ldap.py @@ -59,13 +59,24 @@ def authenticate(api_handle,username,password): anon_bind = api_handle.settings().ldap_anonymous_bind prefix = api_handle.settings().ldap_search_prefix - # form our ldap uri based on connection port - if port == '389': - uri = 'ldap://' + server - elif port == '636': - uri = 'ldaps://' + server + # allow multiple servers split by a space + if server.find(" "): + servers = server.split() else: - uri = 'ldap://' + "%s:%s" % (server,port) + servers = [server] + + uri = "" + for server in servers: + # form our ldap uri based on connection port + if port == '389': + uri += 'ldap://' + server + elif port == '636': + uri += 'ldaps://' + server + else: + uri += 'ldap://' + "%s:%s" % (server,port) + uri += ' ' + + uri = uri.strip() # connect to LDAP host dir = ldap.initialize(uri) |