2015-09-30 2 views
-1

Я разработал небольшое приложение на C++, чтобы связать пользователя на сервере с помощью active directory и вернуть имя его группы. Проблема в том, что я запускаю приложение с удаленного компьютера, он работает без проблем. Когда я пытаюсь запустить его на хост-сервере, компьютер, на котором размещается active directory - процесс передачи связи, но функция поиска всегда возвращает Operation error: это образец моего кода.Ldap Поиск на главном сервере

if ((rc = ldap_simple_bind_s(ld, loginDN, password)) != LDAP_SUCCESS) 
{ 
    printf("ldap_simple_bind_s: %s\n", ldap_err2string(rc)); 
    ldap_unbind_s(ld); 
    return 10; 
} 
printf("Bind and authentication to the server successful\n"); 

string a="(&(objectclass=person)(cn="+prenom+" "+nom+"))"; 
rc = ldap_search_ext_s(
      ld,     /* LDAP session handle */ 
      searchBase,   /* container to search */ 
      LDAP_SCOPE_ONELEVEL, /* search scope */ 
      a.c_str(),    /*search filter*/ 
      NULL,     /* return all attributes */ 
      0,      /* return attributes and values */ 
      NULL,     /* server controls */ 
      NULL,     /* client controls */ 
      &timeOut,    /* search timeout */ 
      LDAP_NO_LIMIT,   /* no size limit */ 
      &searchResult);  /* returned results */ 
if (rc != LDAP_SUCCESS) 
{ 
    cout<<rc<<endl; 
    printf("ldap_search_ext_s: %s\n", ldap_err2string(rc)); 
    ldap_msgfree(searchResult); 
    ldap_unbind_s(ld); 
    return 20 ; 
} 
+0

Пожалуйста капитализировать и puncuate этого беспорядка. – EJP

+0

@EJP Извините за мой плохой английский, я не носитель языка – user2227238

ответ

0

Я нашел ответ, который я должен использовать порт 3268 вместо 389

Смежные вопросы