Я разработал небольшое приложение на 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 ;
}
Пожалуйста капитализировать и puncuate этого беспорядка. – EJP
@EJP Извините за мой плохой английский, я не носитель языка – user2227238