【发布时间】:2015-08-11 05:23:52
【问题描述】:
我正在尝试使用以下代码对 LDAP 用户进行身份验证。
using (PrincipalContext context = new PrincipalContext(ContextType.Domain, ldap, "username", "password"))
{
bool success = context.ValidateCredentials(useralias, password);
}
当我将 ldap 用作“LDAP://z.y.org:389/”时,我在 PrincipalContext 初始化时收到“无法联系服务器”的错误消息。
如果我将 ldap 用作“z.y.org:389/”,则如果我使用正确的凭据,则步骤成功,成功为“真”,但我可以在“IntelliTrace”中看到两个异常,说明“LDAP 服务器不可用”时ValidateCredentails 被执行。如果我为这个方法提供了错误的凭据,如果得到错误但仍然得到相同的异常记录在“IntelliTrace”中。
非常感谢任何解决问题或调试正在发生的事情的指针。
【问题讨论】:
-
您的代码是否在同一台服务器上运行?如果不是,您正在通过不安全的端口进行身份验证。如果您没有安装
SSL,请安装,否则,您需要将端口切换到636。 -
我很好奇你是否找到了这个错误的原因。我目前遇到了同样的问题,
ValidateCredentials将“工作”(正确返回 true 或 false),但我确实得到了 LDAP 服务器不可用异常,该异常在调用中被捕获并丢弃。
标签: c# active-directory ldap directoryservices account-management