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。
非常感谢任何关于可能出错的想法。
答案 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中使用所以我不能说肯定的。