C# 验证远程服务器的凭据
我试图检查用户在WPF表单上输入的远程计算机的用户名/密码是否正确 我有这些字符串:用户名、密码和ip地址 我看到了一些关于“DirectoryEntry”的内容,但无法使其正常工作-即使密码不正确,用户也始终经过身份验证C# 验证远程服务器的凭据,c#,windows,login,C#,Windows,Login,我试图检查用户在WPF表单上输入的远程计算机的用户名/密码是否正确 我有这些字符串:用户名、密码和ip地址 我看到了一些关于“DirectoryEntry”的内容,但无法使其正常工作-即使密码不正确,用户也始终经过身份验证 有什么想法吗?有多种方法,但我以前的方法是这样的(使用DirectoryEntry),它是这样的: string ldapConnectionString = @"LDAP://[domain_server]/CN=Users,DC=[domain]" using (var
有什么想法吗?有多种方法,但我以前的方法是这样的(使用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是您的域控制器还是您试图连接的服务器?(应该是域控制器)这是我试图连接的服务器。但是,我如何知道什么是域控制器,如何从所有其他计算机中选择域中的特定计算机?