【发布时间】:2023-08-15 13:35:01
【问题描述】:
我有一个在生产中运行的 AD/LDAP 服务器,它工作正常。我需要测试一些东西,所以我使用 phpldapadmin 在本地创建了自己的。
当我尝试对 objectClass 进行通配符搜索时,我的代码会抛出异常。这只发生在我的本地服务器上。
System.DirectoryServices.DirectoryServicesCOMException: '指定了无效的 dn 语法。
我尝试了DirectoryServices 支持的多种用户名语法:它们都在生产服务器上工作,在我的本地服务器上失败。我可以使用 JXplorer 成功进入并导航我的本地服务器。
class Program
{
static void Run(string ip, string username, string password)
{
var authType = System.DirectoryServices.AuthenticationTypes.None;
var directoryEntry = new DirectoryEntry(ip, username, password, authType);
var directorySearcher = new DirectorySearcher(directoryEntry, "(objectClass=*)");
directorySearcher.SearchScope = SearchScope.OneLevel;
// throws here
var searchResult = directorySearcher.FindOne();
}
static void Main(string[] args)
{
Run("LDAP://validlocalip", "admin@test", "test");
Console.ReadKey();
}
}
【问题讨论】:
标签: c# active-directory ldap openldap directoryservices