Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations TouchToneTommy on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

validating username and password against the system 1

Status
Not open for further replies.

Jooky68

Programmer
Jul 10, 2002
231
US
Does anyone have any clue how to validate the username and password against the network?? I am using windows 2000 prof, and for some reason api userlogonA wont work. Please does anyone have any idea how i would be able to do this? thank you for your time
 
Here is how I do it. This call will only work on NT base operating systems.

For other useful API calls, check out my API web site.
=======================================================
Option Explicit


Declare Function LogonUser _
Lib "advapi32" _
Alias "LogonUserA" ( _
ByVal lpszUser As String, _
ByVal lpszDomain As String, _
ByVal lpszPass As String, _
ByVal dwLogonType As Long, _
ByVal dwLogonProvider As Long, _
Handle As Long) As Long

Declare Function CloseHandle _
Lib "kernel32" (Handle As Long) As Long

Global Const LOGON32_LOGON_INTERACTIVE = 2
Global Const LOGON32_LOGON_NETWORK = 3
Global Const LOGON32_LOGON_BATCH = 4
Global Const LOGON32_LOGON_SERVICE = 5

Global Const LOGON32_PROVIDER_DEFAULT = 0

Const FORMAT_MESSAGE_FROM_SYSTEM = &H1000
Const FORMAT_MESSAGE_ALLOCATE_BUFFER = &H100

Const FORMAT_MESSAGE_FROM_HMODULE = &H800




Const NERR_BASE = 2100
Const MAX_NERR = NERR_BASE + 899 ' This is the last error in
' NERR range.
Const LOAD_LIBRARY_AS_DATAFILE = &H2
Declare Function LoadLibraryEx _
Lib "kernel32" _
Alias "LoadLibraryExA" ( _
ByVal lpLibFileName As String, _
ByVal hFile As Long, _
ByVal dwFlags As Long) As Long

Declare Function FreeLibrary Lib "kernel32" _
(ByVal hLibModule As Long) As Long

Declare Function FormatMessage _
Lib "Kernel32.dll" _
Alias "FormatMessageA" ( _
ByVal Flags As Long, _
ByVal Source As Long, _
ByVal MessageID As Long, _
ByVal LanguageID As Long, _
ByVal Buffer As String, _
ByVal Size As Long, _
args As Any) As Long

Declare Function LocalFree _
Lib "Kernel32.dll" _
( _
ByVal Handle As Long) As Long

Public Function Logon(strUser As String, _
strDomain As String, _
strPass As String, _
strError As String) As Long

Dim lngError As Long
Dim lngHandle As Long

lngError = LogonUser( _
strUser, _
strDomain, _
strPass, _
LOGON32_LOGON_INTERACTIVE, _
LOGON32_PROVIDER_DEFAULT, _
lngHandle)

If lngError = 0 Then

strError = ErrorMessage(Err.LastDllError)
Logon = -1

Else

Logon = 0
lngError = CloseHandle(lngHandle)

End If

End Function

Function ErrorMessage(lCode As Long) As String

Dim lngError As Long
Dim ptrBuffer As Long
Dim strMessage As String
Dim hModule As Long
Dim lngFlags As Long
Dim str As String

lngFlags = FORMAT_MESSAGE_FROM_SYSTEM

If (lCode >= NERR_BASE And lCode <= MAX_NERR) Then
hModule = LoadLibraryEx(&quot;netmsg.dll&quot;, 0&, _
LOAD_LIBRARY_AS_DATAFILE)
If (hModule <> 0) Then
lngFlags = lngFlags Or FORMAT_MESSAGE_FROM_HMODULE
End If
End If

strMessage = Space$(256)
lngError = FormatMessage( _
lngFlags, _
hModule, _
lCode, _
0&, _
strMessage, _
256, _
0&)
If (hModule <> 0) Then
lngError = FreeLibrary(hModule)


End If
ErrorMessage = strMessage

End Function My API Site: E-mail: akialia@yahoo.com
 
What am i supposed to input for lpszdomain??
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top