我使用以下代码访问 AD 没有问题:
DirectoryEntry ldapConnection = 新的 DirectoryEntry (ldap, ldapUser, ldapPassword);
有没有办法通过 DirectoryEntry 访问 AD 而无需提供用户名/密码。在这种特殊情况下,我只需要读取一些属性。
我使用以下代码访问 AD 没有问题:
DirectoryEntry ldapConnection = 新的 DirectoryEntry (ldap, ldapUser, ldapPassword);
有没有办法通过 DirectoryEntry 访问 AD 而无需提供用户名/密码。在这种特殊情况下,我只需要读取一些属性。
是的你可以
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 类构造函数部分,您也可以找到一些其他方法。
对您的 AD 启用匿名访问,检查此。
默认情况下,Server 2003 及更高版本不允许对 AD 进行匿名查询(大部分情况下)。确保您的 AD 服务器已正确配置为允许匿名访问。
如何修复(适用于 Win 2k8): http ://technet.microsoft.com/en-us/library/cc816788(v=ws.10).aspx