Hola que tal yo estoy desarrollando un apalicación muy simple de seguimiento de un ticket, tengo que insertar en la base de datos el nombre del operador, como utilizó visual basic y este metodo: Environment.Username me da el nombre de usuario loggeado en esa computadora pensé en utilizar LDAP para obtener el SN o el cmmon name de ese usuario para no tener que preguntarle el nombre y agobiar al usuario. Pero tengo varias dudas, a ver si alguien podría ayudarme:
como se el nombre de mi servidor LDAP?
porque tengo este código, pero cacha una excepción y no se como arreglarlo, al parecer el metodo findone no esta funcionando o es la declaración...no lo sé
Código:
Dim _path As String = "LDAP://midominio"
Dim _filterAttribute As String
Public Function Esta(ByVal dominio As String, ByVal usuario As String, ByVal pwd As String) As Boolean
Dim domainAndUsername As String = dominio & "\" & usuario
Dim entry As System.DirectoryServices.DirectoryEntry = New System.DirectoryServices.DirectoryEntry(_path, domainAndUsername, pwd)
Try
Dim obj As Object = entry.NativeObject
Dim search As System.DirectoryServices.DirectorySearcher= New System.DirectoryServices.DirectorySearcher(entry)
search.Filter = "(SAMAccountName=" & usuario & ")"
search.PropertiesToLoad.Add("cn")
Dim result As System.DirectoryServices.SearchResult = search.FindOne()
If (result Is Nothing) Then
Return False
End If
_path = result.Path
_filterAttribute = CType(result.Properties("cn")(0), String)
Catch ex As Exception
Throw New Exception("Error . " & ex.Message)
End Try
Return True
End Function
Cuando llega a esta línea : Dim result As System.DirectoryServices.SearchResult = search.FindOne() cacha una excepción, creo que talvez no este poniendo bien el path pero no se como declarar el path si alguien pudiera ayudarme se los agradecería....mucha sgracias