Hej! Muszę na podstawie loginu domenowego pobrać jakieś informacje o użytkowniku (np. numer telefonu, stanowisko).
W C# .NET udało mi się, natomiast chcę zrobić jeszcze natywną bibliotekę...
Weryfikacje użytkownika w sensie login/hasło zrobiłem.
Natomiast nie mogę przy użyciu LDAP pobrać informacji o użytkowniku jeśli mam tylko skrócony login (sAMAccountName) np. jkowalski (nie mogę zastosować Jan Kowalski).
Przykład:
int getUserInfo()
{
HRESULT hr;
IADsUser *pUser = NULL;
LPWSTR pszADsPath = L"LDAP://CN=Jan Kowalski,OU=Uzytkownicy,OU=CPD,DC=firma,DC=local";
// no i tutaj chciałbym użyć L"LDAP://CN=jkowalski,OU=Uzytkownicy,OU=CPD,DC=firma,DC=local"; ale nie działa
CoInitialize(NULL);
hr = ADsGetObject(pszADsPath, IID_IADsUser,(void**)&pUser);
if(SUCCEEDED(hr))
{
printf("Połączono z domeną !!!");
VARIANT var;
VariantInit(&var);
hr = pUser->Get(CComBSTR("Title"), &var );
if ( SUCCEEDED(hr) )
{
printf("Stanowisko: %S\n", V_BSTR(&var) );
VariantClear(&var);
}
else
{
printf("Brak połączenia!");
VariantClear(&var);
}
pUser->Release();
}
else
{
printf("Nie udało się!!!\n");
}
Próbowałem użyć IDirectorySearch i ExecuteSearch ale coś nie działa :/