|
@@ -32,6 +32,7 @@
|
|
|
|
|
|
import ldap
|
|
|
import django
|
|
|
+from pprint import pprint
|
|
|
|
|
|
from django.db.backends import (BaseDatabaseFeatures, BaseDatabaseOperations,
|
|
|
BaseDatabaseWrapper)
|
|
@@ -95,15 +96,20 @@ class DatabaseWrapper(BaseDatabaseWrapper):
|
|
|
|
|
|
def ensure_connection(self):
|
|
|
if self.connection is None:
|
|
|
- self.connection = ldap.initialize(self.settings_dict['NAME'])
|
|
|
-
|
|
|
- options = self.settings_dict.get('CONNECTION_OPTIONS', {})
|
|
|
- for opt, value in options.items():
|
|
|
+
|
|
|
+ global_options = self.settings_dict.get('GLOBAL_OPTIONS', {})
|
|
|
+ for opt, value in global_options.items():
|
|
|
+ ldap.set_option(opt, value)
|
|
|
+
|
|
|
+ self.connection = ldap.initialize(self.settings_dict['NAME'])
|
|
|
+
|
|
|
+ connection_options = self.settings_dict.get('CONNECTION_OPTIONS', {})
|
|
|
+ for opt, value in connection_options.items():
|
|
|
self.connection.set_option(opt, value)
|
|
|
-
|
|
|
+
|
|
|
if self.settings_dict.get('TLS', False):
|
|
|
self.connection.start_tls_s()
|
|
|
-
|
|
|
+
|
|
|
self.connection.simple_bind_s(
|
|
|
self.settings_dict['USER'],
|
|
|
self.settings_dict['PASSWORD'])
|