Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] Obtener grupo de una persona

Estas en el tema de Obtener grupo de una persona en el foro de .NET en Foros del Web. Hola; Estoy creando una aplicación web a la que quiero conectarme mediante el directorio activo para así obtener el nombre, apellido, email y el grupo ...
  #1 (permalink)  
Antiguo 14/01/2013, 04:55
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años
Puntos: 7
Exclamación Obtener grupo de una persona

Hola;

Estoy creando una aplicación web a la que quiero conectarme mediante el directorio activo para así obtener el nombre, apellido, email y el grupo al que pertenece la persona.

He conseguido obtener el nombre, apellido y el email pero no consigo obtener el grupo o los grupos a los que pertenece esta persona.

¿Me podéis echar una cable?

Os dejo el código con el que obtengo el nombre, apellido y el email de la persona:

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://servidor/DC=dc,DC=com", 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, mail As String
  16.         displayname = directoryEntry.Properties("displayname").Value
  17.         mail = directoryEntry.Properties("mail").Value
  18.         'MsgBox(displayname + " " + mail)
  19.         Dim ar As String() = {displayname, mail}
  20.         Return ar
  21.     End Function

__________________
Gracias por todo;

Un saludo
  #2 (permalink)  
Antiguo 23/01/2013, 03:54
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años
Puntos: 7
Respuesta: Obtener grupo de una persona

Ya he conseguido obtener los grupos del usuario.
si alguien quiere la solucion la escribo a continuación:
Código vb.net:
Ver original
  1. Private Function obtenergrupo(ByVal user As String, ByVal pass As String)
  2.         Dim deGlobal As New DirectoryEntry("LDAP://192.1.1.1/DC=dc,DC=dc", user, pass)
  3.         Dim ds As DirectorySearcher = New DirectorySearcher(deGlobal)
  4.  
  5.         ds.SearchScope = DirectoryServices.SearchScope.Subtree
  6.         ds.Filter = "(&(objectcategory=user)(SAMAccountName=" & user & "))"
  7.         Dim res As SearchResult = ds.FindOne
  8.         Dim grupo As String
  9.         Dim grupo1 As Integer
  10.         For i = 0 To res.Properties("memberOf").Count() - 1
  11.             grupo = res.Properties("memberOf")(i).ToString
  12.  
  13.             If grupo = "CN=Grupo1,OU=UOGRUPO,OU=UOAplicaciones,DC=indar,DC=local" Then
  14.                 grupo1 = 1
  15.             ElseIf grupo = "CN=Grupo2,OU=UOGRUPO,OU=UOAplicaciones,DC=dc,DC=dc" Then
  16.                 grupo1 = 2
  17.             Else
  18.                 grupo1 = 3
  19.             End If
  20.         Next
  21.         Return grupo1
  22.     End Function
__________________
Gracias por todo;

Un saludo

Etiquetas: grupo, persona, server
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:24.