LDAP无效的DN语法

时间:2010-01-22 09:19:49

标签: ldap directoryentry

string path = "LDAP://192.168.0.20/CN=users,DC=company,DC=ltm,DC=dom";

DirectoryEntry dir = new DirectoryEntry(path, admin, pass, AuthenticationTypes.ServerBind);

object value = dir.Properties["description"].Value;
dir.Properties["description"].Value = "test";
dir.CommitChanges();

代码在dir.Properties [“description”]生成一个COMException:“无效的DN语法”。值

如果我没有指定任何用户名和密码,请将DirectoryEntry初始化替换为:

DirectoryEntry dir = new DirectoryEntry(path);
dir.AuthenticationType = AuthenticationTypes.ServerBind;

然后我在CommitChanges获得了UnauthorizedAccessException。

非常感谢任何关于可能出错的想法。

2 个答案:

答案 0 :(得分:1)

您是否在未指定AuthenticationTypes的情况下尝试过它?

就像:

DirectoryEntry dir = new DirectoryEntry(path, admin, pass);

答案 1 :(得分:0)

如果您尝试在没有密码和用户名的情况下登录,那么您将获得UnauthorizedAccess。

这实际上取决于LDAP服务器的配置方式,但这似乎不允许匿名访问。

我认为应该在没有像LDAP这样的IP地址的情况下定义路径:// CN = users,DC = company,DC = ltm,DC = dom但是我没有在.NET中使用所以我不能说肯定的。