Página 1 de 1

Xailer y Autenticacion de Windows

Publicado: Mar Sep 20, 2011 5:16 pm
por Margarita Valdez
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

Xailer y Autenticacion de Windows

Publicado: Mar Sep 20, 2011 9:36 pm
por jlalin
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