If you want to validate a user login to a Windows Active Directory Server or a LDAP Server from a Windows Platform (Windows Vista and upwards)
You can use Xojo’s OLEObject and Microsoft ADO (http://www.w3schools.com/ado/)
If you are running in debug mode don’t forget to uncheck “Break on Exceptions” (tested on RS2012R2.1)
[code]
//http://msdn.microsoft.com/en-us/library/aa746471%28v=vs.85%29.aspx
Dim strUser, strPassword, strServer, strQuery As String
strUser = “USERNAME” // Validation on LDAP Server You might need to use users DN
strPassword = “PASSWORD”
strServer = “ADS/LDAP IP Address or hostname”
Dim adoConnection, adoCommand,adoRecordset As OleObject
strQuery = “SELECT cn FROM 'LDAP://” + strServer + "’ WHERE ObjectClass=’*’ "
adoConnection = new OLEOBJECT(“ADODB.Connection”)
adoConnection.Provider = “ADsDSOOBJECT”
adoConnection.Properties(“User ID”) = strUser
adoConnection.Properties(“Password”) = strPassword
adoConnection.Properties(“Encrypt Password”) = true // Could also be set to false
adoConnection.open (“DS Query”, strUser, strPassword)
adoCommand = New OleObject(“ADODB.Command”)
adoCommand.ActiveConnection = adoConnection
adoCommand.CommandText = strQuery
adoCommand.Properties(“Size Limit”) = 1
adoRecordset = New OLEObject(“ADODB.Recordset”)
try
adoRecordset = adoCommand.Execute()
Catch ExecuteError As OLEException
// User did not manage to login
msgbox ExecuteError.message
adoConnection.close
adoConnection = Nil
adoCommand = Nil
adoRecordset = Nil
exit
End Try
// User manage to login
msgbox (strUser+" manage to login on Server: "+strServer)
adoConnection.close
adoConnection = Nil
adoCommand = Nil
adoRecordset = Nil
exception err as oleexception
msgbox err.message[/code]