Hi I am trying to validate a username and password against Active directory. Does any one have some sample code or point me in the right direction. It would need to work on both Winxp and 2000.![]()
The code below works fine on Winxp but not on Win2000 ??????
I did get this code from an other site but can't get it to work on 2000
Code:Public Declare Function LogonUser Lib "Advapi32" Alias "LogonUserA" (ByVal _ lpszUserName As String, ByVal lpszDomain As String, _ ByVal lpszPassword As String, ByVal dwLogonType As Long, _ ByVal dwLogonProvider As Long, phToken As Long) As Long Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As _ Long Const LOGON32_PROVIDER_DEFAULT = 0& Const LOGON32_LOGON_NETWORK = 3& ' Check whether a username/password pair is correct ' ' if DOMAIN is omitted, it uses the local account database ' and then asks trusted domains to search their account databases ' until it finds the account or the search is exhausted ' use DOMAIN="." to search only the local account database ' ' IMPORTANT: works only under Windows NT and 2000 Public Function CheckWindowsUser(ByVal UserName As String, _ ByVal Password As String, Optional ByVal Domain As String) As Boolean Dim hToken As Long, ret As Long ' provide a default for the Domain name If Len(Domain) = 0 Then Domain = vbNullString ' check the username/password pair ' using LOGON32_LOGON_NETWORK delivers the best performance ret = LogonUser(UserName, Domain, Password, LOGON32_LOGON_NETWORK, _ LOGON32_PROVIDER_DEFAULT, hToken) ' a non-zero value means success If ret Then CheckWindowsUser = True CloseHandle hToken Else do something End If End Function


Reply With Quote


Bookmarks