comparison rhodecode/lib/auth_ldap.py @ 2915:f89bb8545a61 beta

LDAP fail-over using multiple server addresses from host field seperated by comma.
author Raoul Thill <raoul.thill@gmail.com>
date Thu, 11 Oct 2012 15:05:47 +0200
parents 8e10ce55531d
children 8464d0e96e97
comparison
equal deleted inserted replaced
2914:1cd1cbe6cdcc 2915:f89bb8545a61
55 ldap_server_type = ldap_server_type + 's' 55 ldap_server_type = ldap_server_type + 's'
56 56
57 OPT_X_TLS_DEMAND = 2 57 OPT_X_TLS_DEMAND = 2
58 self.TLS_REQCERT = getattr(ldap, 'OPT_X_TLS_%s' % tls_reqcert, 58 self.TLS_REQCERT = getattr(ldap, 'OPT_X_TLS_%s' % tls_reqcert,
59 OPT_X_TLS_DEMAND) 59 OPT_X_TLS_DEMAND)
60 self.LDAP_SERVER_ADDRESS = server 60 # split server into list
61 self.LDAP_SERVER_ADDRESS = server.split(',')
61 self.LDAP_SERVER_PORT = port 62 self.LDAP_SERVER_PORT = port
62 63
63 # USE FOR READ ONLY BIND TO LDAP SERVER 64 # USE FOR READ ONLY BIND TO LDAP SERVER
64 self.LDAP_BIND_DN = safe_str(bind_dn) 65 self.LDAP_BIND_DN = safe_str(bind_dn)
65 self.LDAP_BIND_PASS = safe_str(bind_pass) 66 self.LDAP_BIND_PASS = safe_str(bind_pass)
66 67 _LDAP_SERVERS = []
67 self.LDAP_SERVER = "%s://%s:%s" % (ldap_server_type, 68 for host in self.LDAP_SERVER_ADDRESS:
68 self.LDAP_SERVER_ADDRESS, 69 _LDAP_SERVERS.append("%s://%s:%s" % (ldap_server_type,
69 self.LDAP_SERVER_PORT) 70 host.replace(' ', ''),
70 71 self.LDAP_SERVER_PORT))
72 self.LDAP_SERVER = str(', '.join(s for s in _LDAP_SERVERS))
71 self.BASE_DN = safe_str(base_dn) 73 self.BASE_DN = safe_str(base_dn)
72 self.LDAP_FILTER = safe_str(ldap_filter) 74 self.LDAP_FILTER = safe_str(ldap_filter)
73 self.SEARCH_SCOPE = getattr(ldap, 'SCOPE_%s' % search_scope) 75 self.SEARCH_SCOPE = getattr(ldap, 'SCOPE_%s' % search_scope)
74 self.attr_login = attr_login 76 self.attr_login = attr_login
75 77