当未使用C#加入Microsoft Active Directory中的域时,如何对ldap进行身份验证

由于某些原因,当计算机未加入域时,ldap和目录服务不起作用.来自.net的错误消息是域不可用.有人知道需要做什么吗?

基础的…

 domainAndUsername = domain + @"\" + username;
 entry = new DirectoryEntry(_path, domainAndUsername, pwd);
 entry.AuthenticationType = FindAuthTypeMicrosoft(authType);

尝试向上述代码提供testdomain.com时,在本地登录计算机时似乎无法工作.

即使我可以ping testdomain.com也没有问题.有什么不同或问题?

解决方法:

这段代码过去对我有用(尽管我承认我现在无法对其进行测试):

DirectoryEntry entry = new DirectoryEntry("LDAP://server-name/DC=domainContext,DC=com");
entry.Username = @"DOMAIN\account";
entry.Password = "...";
DirectorySearcher searcher = new DirectorySearcher(entry);
searcher.Filter = "(&(objectClass=user)(sn=Jones))";
SearchResultCollection results = searcher.FindAll();

最困难的部分(无论如何对我而言)是弄清楚“连接字符串”的细节.我通常依靠ADSI EditAD Explorer来帮助我确定正确的值. Softerra LDAP Browser-免费版本较旧,v2.6较旧,位于其下载部分.

上一篇:docker下部署jenkins


下一篇:在Java中使用LDAP的最简单方法(Eclipse)