Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 验证远程服务器的凭据_C#_Windows_Login - Fatal编程技术网

C# 验证远程服务器的凭据

C# 验证远程服务器的凭据,c#,windows,login,C#,Windows,Login,我试图检查用户在WPF表单上输入的远程计算机的用户名/密码是否正确 我有这些字符串:用户名、密码和ip地址 我看到了一些关于“DirectoryEntry”的内容,但无法使其正常工作-即使密码不正确,用户也始终经过身份验证 有什么想法吗?有多种方法,但我以前的方法是这样的(使用DirectoryEntry),它是这样的: string ldapConnectionString = @"LDAP://[domain_server]/CN=Users,DC=[domain]" using (var

我试图检查用户在WPF表单上输入的远程计算机的用户名/密码是否正确

我有这些字符串:用户名、密码和ip地址

我看到了一些关于“DirectoryEntry”的内容,但无法使其正常工作-即使密码不正确,用户也始终经过身份验证


有什么想法吗?

有多种方法,但我以前的方法是这样的(使用DirectoryEntry),它是这样的:

string ldapConnectionString = @"LDAP://[domain_server]/CN=Users,DC=[domain]"

using (var de = new DirectoryEntry(
    ldapConnectionString, "username", "password", 
    AuthenticationTypes.Secure))
{
    return de.NativeObject != null; // if not null -> user is valid
}

编辑:这段代码要做的是,根据active directory验证用户名/密码的组合。我想我误解了您的意思(如果您的意思是,看看用户是否可以连接到某个特定的服务器->如中所示,我不太确定如何进行连接,甚至不知道是否可能)。

您是在谈论Active Directory身份验证吗?因为是的,有一种方法可以检查用户名/密码的组合是否正确。是的,我说的是Active Directory身份验证。你能告诉我怎么做吗?看看这个答案是否有用-我应该使用我的IP作为域吗?我使用以下命令:`private bool Authenticate(字符串用户名、字符串密码、字符串域){PrincipalContext pc=new PrincipalContext(ContextType.domain、domain);return(pc.ValidateCredentials(用户名、服务器密码、ContextOptions.congregate));}`但我得到PrincipalServerDownException…我得到的服务器不是运行异常。我是否正确地编写了ldap字符串:
string ldapConnectionString=@“ldap://10.0.0.160/CN=Users,DC=[10.0.0.160]”?我相信应该是这样的->@“LDAP://10.0.0.160/CN=Users,DC=DOMAIN\u NAME”;假设你有一个域名“COMPANY.US”,你会像这样-->@“LDAP://10.0.0.160/CN=Users,DC=COMPANY,DC=US”;10.0.0.160是您的域控制器还是您试图连接的服务器?(应该是域控制器)这是我试图连接的服务器。但是,我如何知道什么是域控制器,如何从所有其他计算机中选择域中的特定计算机?