急!C#关于LDAP的调用

fdonline 2010-10-28 07:37:32
小弟最近开发项目遇到要与客户的LDAP服务器做用户同步,按着网上给的范例写了个测试程序,却始终无法调试通过。请高人指教一二。
客户LDAP服务器连接参数如下:
绑定账户:cn=eYouAdmin,o=eYou.com.cn
密码:123456
服务器名或IP:192.168.81.101 端口:389
域名:o=eYou.com.cn
测试账户:
认证属性:Uid
以上是从LDAP服务器上的配置页面摘抄下来的信息,客户的LDAP采用的是免费的OpenLDAP

本人的C#测试代码如下:
string strPath = "LDAP://192.168.81.101/cn=eYouAdmin,o=eYou.com.cn";
DirectoryEntry de = new DirectoryEntry(strPath, "eYouAdmin", "123456");
SearchResultCollection deSearch = new DirectorySearcher(de);
deSearch.Filter = "objectClass=*";
deResult = deSearch.FindAll();
Response.Write(deResult.Count);

但是程序执行到deSearch.FindAll()这步时就报错了,提示“无效的DN语法”

请各位大拿指出我程序中的错误,跪求解决方法
...全文
388 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fdonline 2010-11-01
  • 打赏
  • 举报
回复
自己顶起,求一高手
fdonline 2010-11-01
  • 打赏
  • 举报
回复
如果楼上认为写错,能否给出正确代码?我能保证的是我代码编译通过,也就是语法正确,语义肯定是错误的,否则就不会执行不通过了。
danjiewu 2010-10-28
  • 打赏
  • 举报
回复
SearchResultCollection deSearch = new DirectorySearcher(de);
是不是写错了?
fdonline 2010-10-28
  • 打赏
  • 举报
回复
楼上光发这个有什么意思?
另外补充修改一下,
deSearch.Filter = "(objectClass=*)";和deSearch.Filter = "(objectClass=User)";
都试过,不灵。依旧报错,指定了一个无效的DN语法。
呼叫高手
wuyq11 2010-10-28
  • 打赏
  • 举报
回复
fdonline 2010-10-28
  • 打赏
  • 举报
回复
我在考虑是否是strPath写的不正确,我做过如下尝试:
strPath = "LDAP://192.168.81.101/cn=eYouAdmin";
strPath = "LDAP://192.168.81.101/cn=eYouAdmin,o=eYou.com.cn";
strPath = "LDAP://192.168.81.101/cn=eYouAdmin,DC=eYou,DC=com,DC=cn";
strPath = "LDAP://192.168.81.101:389/cn=eYouAdmin";
strPath = "LDAP://192.168.81.101:389/cn=eYouAdmin,o=eYou.com.cn";
strPath = "LDAP://192.168.81.101:389/cn=eYouAdmin,DC=eYou,DC=com,DC=cn";

以上6种方式,最终还是会报错,依旧是“无效的DN语法”

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧