我目前正在用C#编写一些软件,需要连接到AD服务器并获取一些用户详细信息。当我使用下面的代码进行连接时,它可以对付我连接的大多数AD服务器,但有一些地方失败并出现“登录失败:未知用户名或密码错误”的错误。我正在使用的服务器名称/凭证肯定是正确的,因为我使用LDAP浏览器测试它们并且AD服务器使用标准安全性(端口389等)。有人可以提供任何建议吗?
干杯
添
DirectoryEntry d = new DirectoryEntry("LDAP://" + domain, admin_username, admin_password);
try
{
object x = d.NativeObject;
}
catch
{
throw;
}
答案 0 :(得分:4)
过去,我在编程.net / AD时遇到过类似的问题。我发现有用的一件事是使用LDAP查看器来查看我是否可以连接到某些服务器等。这样,我至少可以确定它是否是.NET错误(可能是我的代码),凭据错误等。
我使用Softerra的LDAP查看器(http://www.ldapbrowser.com/download.htm)的free / lite版本,虽然我确信还有很多其他人可供选择。如果您尝试此处列出的那个,请确保下载“LDAP浏览器”而不是“LDAP管理员”。浏览器是免费的。
尝试使用LDAP浏览器/查看器连接到您在代码中遇到问题的同一LDAP路径。至少在第一步确定它是否是.NET /代码问题时。如果您无法通过浏览器进行连接,那么使用连接选项(如端口,域(FQDN)等)会很有帮助。
希望这可能有助于缩小范围。
答案 1 :(得分:1)
Active Directory至少允许三种不同的登录名称样式:
但是,无法使用 JohnS 进行登录,就像使用Windows框一样。这是一个非常常见的错误。