在没有用户名/密码的情况下访问AD以进行只读访问

时间:2012-05-24 02:49:25

标签: c# active-directory

使用以下代码访问AD没有问题:

  

DirectoryEntry ldapConnection = new DirectoryEntry(ldap,ldapUser,   ldapPassword);

有没有办法通过DirectoryEntry访问AD而无需提供用户名/密码。在这种特殊情况下,我只需要阅读一些属性。

2 个答案:

答案 0 :(得分:1)

是的,你可以

  String strPath="LDAP://DC=onecity,DC=corp,DC=fabrikam,DC=com";

  // Create a new DirectoryEntry with the given path.
  DirectoryEntry  objDE=new DirectoryEntry(strPath);

  foreach(DirectoryEntry objChildDE in objDE.Children)
    Console.WriteLine(objChildDE.Path);

检查DirectoryEntry Class构造函数部分,您也可以找到其他一些方法。

启用对您的AD的匿名访问,请检查this

答案 1 :(得分:1)

默认情况下,Server 2003及更高版本不允许对AD进行匿名查询(大多数情况下)。确保正确配置AD服务器以允许匿名访问。

如何修复(适用于Win 2k8): http://technet.microsoft.com/en-us/library/cc816788(v=ws.10).aspx