Buen día,
Tengo una aplicación que quiero que se conecte usando la autenticación de windows, no quiero que la deje pasar directo, quiero que me presente una pantalla de acceso, y que de alguna manera yo pueda validar que el usuario y el password que el cliente escriba sea el que esta en la configuración de windows.
¿Alguien lo ha hecho?, ¿como se puede hacer?
Saludos y gracias por su atención
Margarita
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Xailer y Autenticacion de Windows
-
- Mensajes: 25
- Registrado: Vie Jun 09, 2006 7:22 pm
Xailer y Autenticacion de Windows
Margarita,
el nombre de usuario lo puedes validar con GetUserName() pero me imagino
que el password no.
Mirando la MSDN he encontrado la función LogonUser():
http://msdn.microsoft.com/en-us/library/aa378184.aspx
Esta es la función lista para usar desde Xailer:
#pragma BEGINDUMP
#include <windows.h>
#include <xailer.h>
HB_FUNC( LOGONUSER ) // LogonUser( cUser, cPassword, cDomain, nLogonType )
--> lSuccess
{
HANDLE hToken;
DWORD dwLogonType = hb_parnl( 4 );
if( LogonUser( hb_parc( 1 ), ISCHAR( 3 ) ? hb_parc( 3 ) : ".", hb_parc(
2 ), dwLogonType, LOGON32_PROVIDER_DEFAULT, &hToken ) )
{
CloseHandle( hToken );
hb_retl( TRUE );
}
else
hb_retl( FALSE );
}
#pragma ENDDUMP
Para llamarla:
#include "WinBase.api"
LogonUser( cUser, cPassword, cDomain, nLogonType ), donde nLogonType tiene
que ser uno de los valores LOGON32_LOGON_xxx que dice en el enlace de
arriba y tendrás que averiguar cuál necesitas.
Saludos,
José Lalín
el nombre de usuario lo puedes validar con GetUserName() pero me imagino
que el password no.
Mirando la MSDN he encontrado la función LogonUser():
http://msdn.microsoft.com/en-us/library/aa378184.aspx
Esta es la función lista para usar desde Xailer:
#pragma BEGINDUMP
#include <windows.h>
#include <xailer.h>
HB_FUNC( LOGONUSER ) // LogonUser( cUser, cPassword, cDomain, nLogonType )
--> lSuccess
{
HANDLE hToken;
DWORD dwLogonType = hb_parnl( 4 );
if( LogonUser( hb_parc( 1 ), ISCHAR( 3 ) ? hb_parc( 3 ) : ".", hb_parc(
2 ), dwLogonType, LOGON32_PROVIDER_DEFAULT, &hToken ) )
{
CloseHandle( hToken );
hb_retl( TRUE );
}
else
hb_retl( FALSE );
}
#pragma ENDDUMP
Para llamarla:
#include "WinBase.api"
LogonUser( cUser, cPassword, cDomain, nLogonType ), donde nLogonType tiene
que ser uno de los valores LOGON32_LOGON_xxx que dice en el enlace de
arriba y tendrás que averiguar cuál necesitas.
Saludos,
José Lalín