Внедрявам приложение за Джанго, което се опитвамизвлича данни от LDAP сървър. Ето моя код в views.py.Представлявах цялата необходима информация по-долу, но все пак съм изправен пред грешка (2, "Няма такъв файл или директория"). Какво липсвам тук?
LDAP_USERNAME = ""
LDAP_PASSWORD = ""
LDAP_BASEDN = ""
try:
l = ldap.initialize("")
l.protocol_version = ldap.VERSION2
l.simple_bind_s(LDAP_USERNAME, LDAP_PASSWORD)
search_filter = "(cn=*)"
search_attribute = None
search_scope = ldap.SCOPE_SUBTREE
ldap_result_id = l.search(LDAP_BASEDN, search_scope, search_filter, search_attribute)
result_set = []
while 1:
result_type, result_data = l.result(ldap_result_id, 0)
if (result_data == []):
break
else:
if result_type == ldap.RES_SEARCH_ENTRY:
result_set.append(result_data)
print result_set
except ldap.LDAPError, e:
print e
Трейсване на грешки:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/Django-1.11.2-py2.7.egg/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/Library/Python/2.7/site-packages/Django-1.11.2-py2.7.egg/django/core/handlers/base.py", line 187, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/Library/Python/2.7/site-packages/Django-1.11.2-py2.7.egg/django/core/handlers/base.py", line 185, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/////views.py", line 43, in index
l = ldap.initialize("xyz")
File "/Library/Python/2.7/site-packages/ldap/functions.py", line 94, in initialize
return LDAPObject(uri,trace_level,trace_file,trace_stack_limit)
File "/Library/Python/2.7/site-packages/ldap/ldapobject.py", line 79, in __init__
self._l = ldap.functions._ldap_function_call(ldap._ldap_module_lock,_ldap.initialize,uri)
File "/Library/Python/2.7/site-packages/ldap/functions.py", line 66, in _ldap_function_call
result = func(*args,**kwargs)
LDAPError: (2, "No such file or directory")
Отговори:
0 за отговор № 1ldap.initialize()
изисква подходящ URL адрес за източника на LDAP. Имах същия проблем и LDAPError: (0, "Грешка") и LDAPError: (2, "Без такъв файл или директория") с колбата помогна ми.
Опитвам ldap.initialize(<protocol>://<host>:<port>)
, по подразбиране protocol
би било ldap
и портът по подразбиране е 389
.