さまざまなユーザーのアカウントで実行されていた古いVB6アプリケーションがあります。複数のユーザーが自動的にログインする同じアカウントを使用する「パブリック」マシンに移動する必要がありました。
公式の Windows 認証フォームをポップアップし、ユーザーに資格情報を入力してもらい、ステータスの天気を返す方法はありますか?
ユーザーが自分で作成したフォームにユーザー名/パスワードを入力し、添付のコードを使用して認証を検証することができます。問題は、これがそもそも大ざっぱに見えることであり、ユーザーのパスワードに潜在的にアクセスしたくないということです。
ユーザーの認証に使用できるコードは次のとおりです。
on error resume next
strUserName = "username"
strPassword = "password"
strADsPath = "WinNT://domainname"
iFlags = "0"
' bind to the ADSI object and authenticate Username and password
Set oADsObject = GetObject(strADsPath)
strADsNamespace = left(strADsPath, instr(strADsPath, ":"))
set oADsNamespace = GetObject(strADsNamespace)
Set oADsObject = oADsNamespace.OpenDSObject(strADsPath, "domainname\" & strUserName, strPassword, 0)
If not (Err.number = 0) Then
MsgBox(strUserName + " Failed.")
Else
MsgBox(strUserName + " Authenticated.")
End If
私は次のようなことを望んでいます:
if (AuthenticateUser() <> true)
MsgBox(strUserName + " Failed.")
Else
MsgBox(strUserName + " Authenticated.")
End If