次のコードを使用して、winform アプリケーションの Windows 認証を通じてユーザーを検証します。これは Windows XP では正常に機能しますが、ユーザーが Windows 2000 を使用している場合、ユーザー ID またはパスワードが無効であると表示されます。
Windows 2000 でこれを行うにはどうすればよいですか。さらに、ユーザーが Windows XP または Windows 2000 を使用しているかどうかを検出するにはどうすればよいですか。
[System.Runtime.InteropServices.DllImport("advapi32.dll")]
public static extern bool LogonUser(string userName, string domainName, string password, int LogonType, int LogonProvider, ref IntPtr phToken);
public bool IsValidateCredentials(string userName, string password, string domain)
{
IntPtr tokenHandler = IntPtr.Zero;
bool isValid = LogonUser(userName, domain, password, 2, 0, ref tokenHandler);
return isValid;
}
ありがとう