devxlogo

CheckWindowsUser – Validate a username/password pair

CheckWindowsUser – Validate a username/password pair

Private 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 LongPrivate Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As _    LongConst 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 2000Private 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    End IfEnd Function

devx-admin

Share the Post: