使用以下代码访问AD没有问题:
DirectoryEntry ldapConnection = new DirectoryEntry(ldap,ldapUser, ldapPassword);
有没有办法通过DirectoryEntry访问AD而无需提供用户名/密码。在这种特殊情况下,我只需要阅读一些属性。
答案 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