Newsgrupos.com  

Retroceder   Newsgrupos.com > Forum > Newsgroup microsoft.public.es.* 1 Foro > Newsgroup microsoft.public.es.dotnet.vb
Registrarse Preguntas Frecuentes Lista de Foreros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




Respuesta
 
LinkBack Herramientas Desplegado
  #1 (permalink)  
Antiguo 23-10-2007, 15:32:01
Jhonal7
 
Mensajes: n/a
Predeterminado Re: Listar Usuarios del directorio Activo

Hola,

Esta funcion yo la tengo en mi aplicacion, ya y me funciona bien, pero tengo
2 incognitas al respecto que no he podido solucionar.

1) cuando estoy trabajando en la aplicacion desde el IDE de VS2005 y ejecuto
desde el entorno de desarrollo, me funciona bine, es decir me valida que si
sea un usuario del dominio, e ingresa sin problemas, pero al publicar el
sitio e instalarlo en IIS, ejecuto, y cuando me voy a logear el me dice
" The specified domain either does not exist or could not be contacted"

2) quisiera poder listar en un formulario los usuarios del dominio, esto con
el fin de crear los permisos de acceso a mi aplicacion de ellos mismos, para
no crear uno a uno los usuarios.

Gracias.
Responder Con Cita
Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Newsgrupos.com
Standard Sponsored Links

  #2 (permalink)  
Antiguo 24-10-2007, 08:30:02
Lluis Franco
 
Mensajes: n/a
Predeterminado Re: Listar Usuarios del directorio Activo

:-)
Hola,
Si te pasé la función fue para que te familiarizaces con los objetos
"DirectoryEntry" y "DirectorySearcher".

Bueno, vamos por partes:

1) ¿La estación de producción pertenece al dominio? ¿Has verificado bajo que
permisos se ejecuta la aplicación (si es el usuario aspnet tal vez no tenga
los permisos apropiados)?

2) Respecto a listar los usuarios, prueba con:

Dim entry As DirectoryEntry = New DirectoryEntry("TU.DOMINIO.COM")
Dim search As DirectorySearcher = New DirectorySearcher(entry)

Dim adSID() As Byte
Dim adGuid As Guid
Dim adcn As String = ""
Dim adsamAccountName As String = ""
Dim admail As String = ""

search.Filter = "(objectCategory=person)"
search.PropertiesToLoad.Add("cn")
search.PropertiesToLoad.Add("objectGUID")
search.PropertiesToLoad.Add("objectSID")
search.PropertiesToLoad.Add("samAccountName")
search.PropertiesToLoad.Add("mail")

Dim results As SearchResultCollection = search.FindAll()
For Each r As SearchResult In results
adSID = CType(r.Properties("objectSID")(0), Byte())
adGuid = New Guid(CType(r.Properties("objectGUID")(0), Byte()))
adcn = CType(r.Properties("cn")(0), String)
adsamAccountName = CType(r.Properties("samAccountName")(0),
String)
If r.Properties("mail").Count > 0 Then admail =
CType(r.Properties("mail")(0), String)

'users.Add(New ADUser(adSID, adGuid, adcn, adsamAccountName,
admail))
Next

Saludos,
--

Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
--
Web: http://sps.uyssoft.com
Blog: http://msmvps.com/blogs/lfranco
Geeks: http://geeks.ms/blogs/lfranco
--
(Guía de netiquette de los foros)
http://sps.uyssoft.com/Foros%20online/Netiquette.aspx
FIMARGE, S.A.
Principat d'Andorra
lfranco***ODIO_EL_SPAMfimarge.ad
Tel.: +376 805 100
Fax: +376 824 500
--
Mi Perfil MVP en:
https://mvp.support.microsoft.com/profile/Lluis
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho.



Responder Con Cita
  #3 (permalink)  
Antiguo 24-10-2007, 16:50:04
Jhonal7
 
Mensajes: n/a
Predeterminado Re: Listar Usuarios del directorio Activo

Hola Luis,

De antemano te doy las gracias
por la colaboracion.

El punto por el que te escribo es el siguiente.

1) cuando me preguntas bajo que permisos se ejecuta la aplicacion, la verdad
no entendi muy bien, yo se que
la carpeta de la aplicacion web tiene unos usuarios con unos permisos, y
pues no se si te refieres a esto.

2) el procedimiento para la busqueda de usuarios lo tengo en mi aplicacion
a modo de prueba asi:

Public Sub ConsultarUsuarios(ByVal _Dominio As String, ByVal _DdlMail As
DropDownList)
'Try
Dim entry As DirectoryEntry = New DirectoryEntry(_Dominio)
Dim search As DirectorySearcher = New DirectorySearcher(entry)
Dim user As DirectoryVirtualListView

Dim adSID() As Byte
Dim adGuid As Guid
Dim adcn As String = ""
Dim adsamAccountName As String = ""
Dim admail As String = ""

search.Filter = "(objectCategory=person)"
search.PropertiesToLoad.Add("cn")
search.PropertiesToLoad.Add("objectGUID")
search.PropertiesToLoad.Add("objectSID")
search.PropertiesToLoad.Add("samAccountName")
search.PropertiesToLoad.Add("mail")

Dim results As SearchResultCollection = search.FindAll()
For Each r As SearchResult In results
adSID = CType(r.Properties("objectSID")(0), Byte())
adGuid = New Guid(CType(r.Properties("objectGUID")(0), Byte()))
adcn = CType(r.Properties("cn")(0), String)
adsamAccountName = CType(r.Properties("samAccountName")(0),
String)
If r.Properties("mail").Count > 0 Then admail =
CType(r.Properties("mail")(0), String)
'user.(New ADUser(adSID, adGuid, adcn, adsamAccountName, admail))
_DdlMail.Items.Add(admail)
Next

'Catch ex As Exception
' Throw New Exception(ex.Message & " " & MsgSearchUser)
'End Try
End Sub

__________________________________________________ _______________________________

pero al momento de ejecutarse me saca un error "Error desconocido" en la linea
Dim results As SearchResultCollection = search.FindAll()


De nuevo gracias.

Responder Con Cita
  #4 (permalink)  
Antiguo 24-10-2007, 21:44:00
Jhonal7
 
Mensajes: n/a
Predeterminado Re: Listar Usuarios del directorio Activo

Hola,

el problema 1 fue resuelto, la solucion fue:

1) a la hora de publicar e instalar su sitio asegurense que tienen esta
directiva
<identity impersonate="true"/>
2) en el IIS en la directiva de seguridad se debe colocar un usuario del
dominio,

3) en el IIS, en la parte para asistentes de permisos, crear un permiso,
que herede la configuracion de seguridad.

4) en la carpeta de la aplicacion verificar que el user ASP y el IUSR esten
con todos los permisos, de esta manera me funciono.

Ahora si continuo con el 2

Saludos,
Responder Con Cita
  #5 (permalink)  
Antiguo 25-10-2007, 08:01:03
Lluis Franco
 
Mensajes: n/a
Predeterminado Re: Listar Usuarios del directorio Activo

:-)))
Hola,

Perfecto!
A eso me refería, porque tenia toda la pinta de que el usuario que ejecutaba
la aplicación no tenia permisos de acceso al AD.
Usar impersonalización es muy práctico es estos casos, ya que permite
realizar la autenticación mediante el usuario definido en el IIS.

Respecto al problema con listar los uaurios, vamos a reducir problemas,
prueba primero con:

Dim entry As DirectoryEntry = New DirectoryEntry("TU.DOMINIO.COM")
Dim search As DirectorySearcher = New DirectorySearcher(entry)

Dim results As SearchResultCollection = search.FindAll()

Y comprobemos que se ejecuta correctamente (aunque no devuelva lo que
deseamos).
--

Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
--
Web: http://sps.uyssoft.com
Blog: http://msmvps.com/blogs/lfranco
Geeks: http://geeks.ms/blogs/lfranco
--
(Guía de netiquette de los foros)
http://sps.uyssoft.com/Foros%20online/Netiquette.aspx
FIMARGE, S.A.
Principat d'Andorra
lfranco***ODIO_EL_SPAMfimarge.ad
Tel.: +376 805 100
Fax: +376 824 500
--
Mi Perfil MVP en:
https://mvp.support.microsoft.com/profile/Lluis
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho.



Responder Con Cita
  #6 (permalink)  
Antiguo 25-10-2007, 17:22:01
Jhonal7
 
Mensajes: n/a
Predeterminado Re: Listar Usuarios del directorio Activo

Luis vuelvo a la tristeza un poco, ya que las pruebas que hice para que me
validara en el AD, las hice en Windows XpPRo, pero haciendo lo mismo en
Win2003 no resulto con el cliente, estare haciendo las pruebas y les estare
contando que hay que hacer,

Bueno con respecto a lo de listar los usuarios, me saca error en la misma
linea osea en esta " Dim results As SearchResultCollection =
search.FindAll()" que hacemos ?
el error es el mismo "Error desconocido"
Responder Con Cita
  #7 (permalink)  
Antiguo 26-10-2007, 08:31:23
Lluis Franco
 
Mensajes: n/a
Predeterminado Re: Listar Usuarios del directorio Activo

:-S
Caramba...

Pues yo estas aplicaciones las tengo ejecutándose en WinXP y en Win2003,
aunque es posible que tuviese que modificar algo de la configuración de
seguridad... ahora no me acuerdo. Deja que te lo mire, ok?

PD - Voy a estar fuera de la oficina hasta el lunes, así que tardaré un
poco...

Saludos,
--

Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
--
Web: http://sps.uyssoft.com
Blog: http://msmvps.com/blogs/lfranco
Geeks: http://geeks.ms/blogs/lfranco
--
(Guía de netiquette de los foros)
http://sps.uyssoft.com/Foros%20online/Netiquette.aspx
FIMARGE, S.A.
Principat d'Andorra
lfranco***ODIO_EL_SPAMfimarge.ad
Tel.: +376 805 100
Fax: +376 824 500
--
Mi Perfil MVP en:
https://mvp.support.microsoft.com/profile/Lluis
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho.



Responder Con Cita
  #8 (permalink)  
Antiguo 30-10-2007, 10:14:22
Lluis Franco
 
Mensajes: n/a
Predeterminado Re: Listar Usuarios del directorio Activo

:-(
Pues no...

¿Has probado a crear una pequeña aplicación Windows que acceda el AD? Sólo
para comprobar que funcione ok...
--

Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
--
Web: http://sps.uyssoft.com
Blog: http://msmvps.com/blogs/lfranco
Geeks: http://geeks.ms/blogs/lfranco
--
(Guía de netiquette de los foros)
http://sps.uyssoft.com/Foros%20online/Netiquette.aspx
FIMARGE, S.A.
Principat d'Andorra
lfranco***ODIO_EL_SPAMfimarge.ad
Tel.: +376 805 100
Fax: +376 824 500
--
Mi Perfil MVP en:
https://mvp.support.microsoft.com/profile/Lluis
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho.



Responder Con Cita
  #9 (permalink)  
Antiguo 30-10-2007, 15:26:04
Jhonal7
 
Mensajes: n/a
Predeterminado Re: Listar Usuarios del directorio Activo

ya mi aplicacion esta terminada en un 95 % me queda faltando, la
autenticacion del directorio activo de de la aplicacion instalada en un
servidor windows 2003 server, esta aplicacion fue hecha en asp.net, y el
error que me sale es referente a que no tengo permisos para autenticarme, le
he dado permisos totales con usuarios, como ASP.NET , IUSR, Administrador de
la maquina local y ni asi fuciona, recuerdo todo esto por si ayuda a resolver
el problema,

gracias.
Responder Con Cita
  #10 (permalink)  
Antiguo 01-11-2007, 16:51:02
Jhonal7
 
Mensajes: n/a
Predeterminado Re: Listar Usuarios del directorio Activo

Bueno al fin pude solucionar mis 2 problemas, tras de cacharrear bastante y
pues investigar.

1) solucion con respecto a la autenticacion: todo giro en entorno a permisos
de usuarios para ingresar a la aplicacion, en el IIS se deben dar permisos
suficientes para poder realizar esta operacion.

2) necesita listar los datos de un usuario en especifico del directorio
activo, ademas de cargarlos todos claro esta:
este es el codigo para Cargar los datos de un usuario Especifico del
directorio activo
================================================== ======
Public Sub DatosUsuariosAD(ByVal Domain As String, ByVal _User As String,
ByVal TxtNoms As TextBox, ByVal TxtCorreo As TextBox, ByVal txtUser As
TextBox)
Try
Dim sr As SearchResultCollection
Dim srProp As SearchResult
Dim _SamAccount As String
Dim _Noms As String
Dim _Correo As String
Dim DirSearch As New DirectorySearcher(Domain)
DirSearch.SearchScope = DirectoryServices.SearchScope.Subtree
DirSearch.PropertiesToLoad.Add("name")
DirSearch.PropertiesToLoad.Add("samAccountName")
DirSearch.PropertiesToLoad.Add("mail")
DirSearch.Filter = "samAccountName=" + _User

sr = DirSearch.FindAll
For i As Long = 0 To sr.Count - 1
srProp = sr(i)
_Noms = srProp.Properties("name")(0).ToString()
_Correo = srProp.Properties("mail")(0).ToString()
_SamAccount =
srProp.Properties("samAccountName")(0).ToString()
TxtNoms.Text = _Noms.ToString
TxtCorreo.Text = _Correo.ToString
txtUser.Text = _SamAccount.ToString
Next

Catch ex As Exception
Throw New Exception(ex.Message & " " & MsgSearchUser)
End Try
End Sub
================================================== ======

y este es el codigo para listarlos todos los usuarios del directorio:
================================================== ======
Public Sub ConsultarUsuarios(ByVal Domain As String, ByVal ddlreporter As
DropDownList)
Try
Dim DirSearch As New DirectorySearcher(Domain) '"name=" + _User
DirSearch.SearchScope = DirectoryServices.SearchScope.Subtree
DirSearch.PropertiesToLoad.Add("name")
DirSearch.PropertiesToLoad.Add("samAccountName")
DirSearch.PropertiesToLoad.Add("mail")
DirSearch.Filter = "(objectCategory=person)"
Dim sr As SearchResultCollection
Dim srProp As SearchResult
sr = DirSearch.FindAll
For i As Long = 0 To sr.Count - 1
srProp = sr(i)

ddlreporter.Items.Add(srProp.Properties("samAccoun tName")(0).ToString())
Next
Catch ex As Exception
Throw New Exception(ex.Message & " " & MsgSearchUser)
End Try
End Sub
================================================== ======


Espero que esto pueda servirle a alguien.

Saludos, y Gracias a Luis y Guille.
Responder Con Cita
 
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último mensaje
Listar archivos de un directorio pol Newsgroup microsoft.public.es.dotnet.vb 6 25-08-2008 17:32:47
Problema con cambio de clave para usuarios del Directorio Activo Admin Newsgroup microsoft.public.es.windows.server.directorio_activo 0 04-08-2008 11:19:00
Web part para crear usuarios en Directorio Activo Fernanda Quintana Newsgroup microsoft.public.es.sharepoint 3 21-02-2008 15:18:00
Listar usuarios Directorio Activo Iñigo Newsgroup microsoft.public.es.sharepoint 1 20-07-2007 21:46:01
Listar un contenido en un directorio jacgandres Newsgroup microsoft.public.es.java 0 04-04-2006 17:11:02





Powered by: vBulletin, Versión 3.6.8
Derechos de Autor ©2000 - 2008, Jelsoft Enterprises Ltd.

LinkBacks Enabled by vBSEO 3.1.0 © 2007, Crawlability, Inc.