我非常惊讶,因为我有5年前建立LDAP连接,但突然有一个我无法连接到ldap。 LDAP数据是:
LDAP: LDAP://172.16.0.181:390/dc=asmet,dc=local
Username: cn=zentyalro,dc=asmet,dc=local
Password: EBsmOpCoIytamGe=Yret
接下来是我用于身份验证的代码:
bool authentic = false;
try
{
DirectoryEntry entry = new DirectoryEntry("LDAP://172.16.0.181:390/dc=asmet,dc=local",
@"cn=zentyalro,dc=asmet,dc=local", "EBsmOpCoIytamGe=Yret");
object nativeObject = entry.NativeObject;
authentic = true;
}
catch (DirectoryServicesCOMException ex)
{
}
错误是:
指定的DN语法无效。
我真的不知道为什么会发生这种情况。更奇怪的是,使用任何LDAP资源管理器工具都可以进行身份验证,但代码却没有。为什么呢?
答案 0 :(得分:0)
我认为这是因为你的语法。请尝试以下代码:
bool authentic = false;
using (var context = new PrincipalContext(ContextType.Domain, "172.16.0.181:390", username , password))
{
if (context.ValidateCredentials(username, password) == true)
{
authentic = true;
}
}