Ik probeer via C++ een connectie te maken met de LDAP om aan gebruikersauthenticatie te doen. Ik heb wel weinig tot geen kennis van c++. Ik heb dit eerst geschreven in visual basic .net en daar werkt het perfect. De C++ code compileert perfect, maar bij het uitvoeren geeft ie op deze lijn een error:
error:
Ik dacht eerst dat de waarden tussen haakjes niet van de juiste types waren, dus heb ik geprobeerd deze weg te laten wat ook zou moeten werken:
Maar ook hier krijg ik dezelfde foutmelding. Iemand die weet waar het aan kan liggen?
De gebruikte omgeving is MS visual C++ 2005 express edition.
DirectoryEntry entry = gcnew DirectoryEntry(sPath, sUserB, sPw, AuthenticationTypes::ServerBind);
error:
"An unhandled exception of type 'System.ArgumentException' occurred in System.DirectoryServices.dll
Additional information: The value provided for adsObject does not implement IADs."
Ik dacht eerst dat de waarden tussen haakjes niet van de juiste types waren, dus heb ik geprobeerd deze weg te laten wat ook zou moeten werken:
DirectoryEntry entry = gcnew DirectoryEntry();
Maar ook hier krijg ik dezelfde foutmelding. Iemand die weet waar het aan kan liggen?
De gebruikte omgeving is MS visual C++ 2005 express edition.
//gebruikte namespace
using namespace System:irectoryServices;
...
System::String ^sUserB = "cn=";
System::String ^sUser = gcnew System::String(txtUser->Text);
sUserB = sUserB + sUser + ", ou=users, o=bedrijf";
System::String ^sPw = gcnew System::String(txtPas->Text);
System::String ^sPath = gcnew System::String("LDAP://10.0.0.128");
DirectoryEntry entry = gcnew DirectoryEntry(sPath, sUserB, sPw, AuthenticationTypes::ServerBind);
try {
entry.NativeObject;
entry.Close();
label1->Text = "Gelukt!";
}
catch(char * str){
entry.Close();
label1->Text = "mislukt";
}