Validar usuario en Active Directory

1,575 views
Skip to first unread message

Gorka

unread,
Sep 26, 2011, 6:41:46 AM9/26/11
to Comunidad de Visual Foxpro en Español
Hola Compañeros.
Tengo que incorporar a la aplicación de la compañía un módulo que
valide el Login del Usuario contra Active Directory del servidor de
Dominio.
Encontré en PortalFox este código (http://www.portalfox.com/index.php?
name=Downloads&req=viewdownloaddetails&lid=164) que me funciona
perfectamente, sin embargo solo tiene un problema para que me sea 100%
de utilidad:

Cuando estamos conectados a una red con un servidor de Dominio habréis
podido observar que aunque la red este caída podéis arrancar el equipo
y se realiza una validación del usuario y contraseña. Supongo que esa
validación la realiza sobre un perfil local de seguridad al no estar
disponible el servidor de dominio para validarlo.
Bueno pues eso es justo lo que me falta... con el código de Jorge Mota
me valida perfectamente si tengo acceso al servidor de dominio, pero
no, si no esta disponible.
La idea sería controlar el error de imposibilidad de acceso al
servidor y en ese caso realizar la validación sobre el perfil local.
Alguien sabe como hacer esa validación sobre el perfil local de
seguridad?
Gracias anticipadas
Gorka

Marco Plaza

unread,
Sep 26, 2011, 9:50:25 AM9/26/11
to Comunidad de Visual Foxpro en Español
no puedo probarlo pues no estoy en un dominio, pero prueba
getenv('userdomain') sabrás si arrancó desde el pc o desde AD. Chequea
los valores que te entrega set desde el dos y por ahí lo ves. No está
claro si necesitas validar de nuevo las credenciales o simplemente
saber si está conectado al servidor.

Saludos.

Marco Plaza.

Gorka

unread,
Sep 27, 2011, 1:04:33 AM9/27/11
to Comunidad de Visual Foxpro en Español
Disculpar si no me expliqué bien.
Lo que necesito es validar las credenciales del usuario
independientemente de que haya arrancado desde el PC o AD.
Saludos.
Gorka

Douglas Sánchez Guillén

unread,
Sep 27, 2011, 1:35:18 AM9/27/11
to publice...@googlegroups.com
hola lo que kieres saber es si los que entran a tu sistema existen en active directory???
--
Ing. Douglas Sánchez Guillén
      Consultor Informatico
Movistar: 505 8759 - 5342
Claro: 505 88495476

Douglas Sánchez Guillén

unread,
Sep 27, 2011, 1:50:04 AM9/27/11
to publice...@googlegroups.com
ya checastes este http://support.microsoft.com/kb/192766/es

saludes..

Gorka

unread,
Sep 27, 2011, 5:38:46 AM9/27/11
to Comunidad de Visual Foxpro en Español
Hola Douglas
Ya lo había probado... pero no es exactamente lo que necesito.
Me cuesta explicarme....
Con el código que encontré en PortalFox de Jorge Mota puedo validar el
usuario y contraseña introducido por el usuario contra el Directorio
Activo y funciona perfecto.
Sin embargo, si cuando el usuario intenta hacer el Login, el servidor
de dominio no esta disponible, el programa me devuelve un error, por
que no puede verificarlo.
Lo que me gustaría es, reaccionar igual que Windows cuando sucede
esto. O sea, si cuando inicio sesión en Windows el servidor de dominio
no esta disponible, me valida igualmente (Supongo que contra algún
perfil local de seguridad), esa es la validación que intento
conseguir...
En cualquier caso, gracias por vuestro interés.
Gorka


On 27 sep, 07:50, Douglas Sánchez Guillén <douglas...@gmail.com>
wrote:
> ya checastes estehttp://support.microsoft.com/kb/192766/es
>
> saludes..
>
> El 26 de septiembre de 2011 23:35, Douglas Sánchez Guillén <
> douglas...@gmail.com> escribió:
>
>
>
>
>
>
>
>
>
> > hola lo que kieres saber es si los que entran a tu sistema existen en
> > active directory???
>
> > *Ing. Douglas Sánchez Guillén*
> > *      Consultor Informatico*
> > Movistar: 505 8759 - 5342
> > Claro: 505 88495476
>
> --
> *Ing. Douglas Sánchez Guillén*
> *      Consultor Informatico*

Marco Plaza

unread,
Sep 27, 2011, 8:42:36 AM9/27/11
to Comunidad de Visual Foxpro en Español
Hola, hasta donde sé, si el servidor de AD no está disponible windows
te deja iniciar con las ultimas credenciales usadas por un numero de
veces ( 5 o 10 no lo recuerdo ). Eso quiere decir que windows guarda
una copia local de esas credenciales. Podrías hacer lo mismo. Si el
login contra AD te devuelve error, compara con las ultimas
credenciales usadas hasta 5 veces ( tendrás que guardarlas de forma
segura ). Luego de esos intentos deberá iniciar como usuario del pc.
Yo subí un articulo aquí sobre impersonar aplicaciones, ese código
servira para validar usuarios locales o de un dominio.
Chequea:
http://groups.google.com/group/publicesvfoxpro/browse_thread/thread/139784c626216cbf/2fabd31b078eaa91?lnk=gst&q=marco+plaza+foxtalk#2fabd31b078eaa91

Marco Plaza

Daniel Sánchez

unread,
Sep 27, 2011, 1:43:03 PM9/27/11
to publice...@googlegroups.com
Lo otro que podrìas hacer para saber si el servidor esta activo es pinear o tratar de acceder al ip o nombre del servidor, si devuelve error de conecciòn pues estas en modo local.
No se es una idea tal vez por ahi va tu soluciòn.
 
Saludos

--
Daniel Sánchez Escobar
Investigación y Desarrollo
Reset Software & Sistemas
Móvil +051-949398047
Trujillo - Perú

Douglas Sánchez Guillén

unread,
Sep 27, 2011, 4:00:06 PM9/27/11
to publice...@googlegroups.com
Es correcto, si el server no esta activo y kieres acceder a tu aplicacion o mejor dicho a tu base de datos que esta en el server, lo correcto es que te diga dominio no disponible o conexion imposible de realizar, ya que si esta desconectado el cable de la red
el wind si te dejará entrar, pero para que kieres entrar a tu sistema si no vas a poder hacer nada, ya que la base de datos esta en el server.  o al menos que trabajes desconectado y kieras acceder a base locales, umm yo haria omitir el codigo mas bien de dominio e intenetar entrar local cuando pase ese mensaje que esta en tu boton iniciar.

Lo digo porque no le veo sentido iniciar un aplicativo si no esta disponible la BD. mas si trabajas con mysql, sql server etc...



Saludes
--
Ing. Douglas Sánchez Guillén
      Consultor Informatico

Gorka

unread,
Sep 28, 2011, 1:40:41 AM9/28/11
to Comunidad de Visual Foxpro en Español
Hola
Perfecto Marco.
Justo lo que necesitaba
Muchas Gracias
Gorka


On 27 sep, 14:42, Marco Plaza <stmapw...@gmail.com> wrote:
> Hola, hasta donde sé, si el servidor de AD no está disponible windows
> te deja iniciar con las ultimas credenciales usadas por un numero de
> veces ( 5 o 10 no lo recuerdo ). Eso quiere decir que windows guarda
> una copia local de esas credenciales. Podrías hacer lo mismo. Si el
> login contra AD te devuelve error, compara con las ultimas
> credenciales usadas hasta 5 veces ( tendrás que guardarlas de forma
> segura ). Luego de esos intentos deberá iniciar como usuario del pc.
> Yo subí un articulo  aquí sobre impersonar aplicaciones, ese código
> servira para validar usuarios locales o de un dominio.
> Chequea:http://groups.google.com/group/publicesvfoxpro/browse_thread/thread/1...

Gorka

unread,
Sep 28, 2011, 1:46:43 AM9/28/11
to Comunidad de Visual Foxpro en Español
Hola Douglas.
Es que la red donde esta montada la aplicación es algo mas compleja...
Me explico:
Servidor de Domino en la sede central
Servidores de SQL-Server en cada una de las delegaciones (65)
Cada delegación ataca a su propio servidor de SQL, de forma que
garantizamos la operativa en caso de problemas de linea.
Por eso necesito que aunque no tenga acceso al servidor de dominio
pueda validarme y acceder a la base de datos de la delegación.
En cualquier caso, gracias por vuestro interés.
Saludos
Gorka


On 27 sep, 22:00, Douglas Sánchez Guillén <douglas...@gmail.com>
wrote:
> Es correcto, si el server no esta activo y kieres acceder a tu aplicacion o
> mejor dicho a tu base de datos que esta en el server, lo correcto es que te
> diga dominio no disponible o conexion imposible de realizar, ya que si esta
> desconectado el cable de la red
> el wind si te dejará entrar, pero para que kieres entrar a tu sistema si no
> vas a poder hacer nada, ya que la base de datos esta en el server.  o al
> menos que trabajes desconectado y kieras acceder a base locales, umm yo
> haria omitir el codigo mas bien de dominio e intenetar entrar local cuando
> pase ese mensaje que esta en tu boton iniciar.
>
> Lo digo porque no le veo sentido iniciar un aplicativo si no esta disponible
> la BD. mas si trabajas con mysql, sql server etc...
>
> Saludes
>
> El 27 de septiembre de 2011 11:43, Daniel Sánchez
> <resetsoftw...@gmail.com>escribió:
>
> > Lo otro que podrìas hacer para saber si el servidor esta activo es pinear o
> > tratar de acceder al ip o nombre del servidor, si devuelve error de
> > conecciòn pues estas en modo local.
> > No se es una idea tal vez por ahi va tu soluciòn.
>
> > Saludos
>
> > --
> > Daniel Sánchez Escobar
> > Investigación y Desarrollo
> > Reset Software & Sistemas
> > Móvil +051-949398047
> > Trujillo - Perú
>
> --
> *Ing. Douglas Sánchez Guillén*
> *      Consultor Informatico*
Reply all
Reply to author
Forward
0 new messages