Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/01/2013, 04:31
maialenlopez
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 1 mes
Puntos: 7
Exclamación Error en función de directorio activo

Estoy programando una aplicación web en vb.net la cual necesita tener acceso mediante el directorio activo. He conseguido que si el usuario y la contraseña están bien llame a esta función que muestro abajo y con ella lo que quiero es coger el nombre de la persona que ha accedido mediante el directorio activo. Pero tengo un problema. He depurado la función y cuando llega a este punto directoryEntry = result.GetDirectoryEntry() me lanza un error de referencia a objeto no establecida como instancia a un objeto. ¿Me podéis ayudar con esto o decirme otra manera de obtener el nombre de la persona que ha accedido mediante el directorio activo?

Código vb.net:
Ver original
  1. Public Function FullName(ByVal user As String, ByVal pass As String) As String
  2.         'Dim dirEntry As New DirectoryEntry("LDAP://servername/DC=servername,DC=com", strDomain & "\" & user, pass)
  3.         Dim adsEntry As New DirectoryEntry("LDAP://192.168.1.108/DC=indar,DC=local", user, pass)
  4.         Dim deSearch As New DirectorySearcher(adsEntry)
  5.         Dim properties() As String = {"fullname"}
  6.         deSearch.SearchScope = SearchScope.Subtree
  7.         deSearch.ReferralChasing = ReferralChasingOption.All
  8.         deSearch.PropertiesToLoad.AddRange(properties)
  9.         deSearch.Filter = "sAMAccountName=" + user + ")"
  10.  
  11.         Dim result As SearchResult
  12.         result = deSearch.FindOne()
  13.         Dim directoryEntry As New DirectoryEntry
  14.         directoryEntry = result.GetDirectoryEntry()
  15.         Dim displayname As String
  16.         displayname = directoryEntry.Properties("displayname")(0).ToString()
  17.         Return displayname
  18.     End Function

__________________
Gracias por todo;

Un saludo