Warm tip: This article is reproduced from serverfault.com, please click

c#-Novell Ldap:LdapSearchQueue followint搜索中缺少LdapSearchResult消息类型

(c# - Novell Ldap: missing LdapSearchResult message type in the LdapSearchQueue followint Search)

发布于 2020-11-23 22:34:17

我首先要说的是,不幸的是,在这种特定情况下,我无法更改代码,并且除了此安装之外,该代码在任何地方都可以使用。我怀疑配置/权限/信任问题,希望能够获得有关如何修改环境以解决此问题的建议。

在这个特定的位置,在上运行Search()方法之后LdapConnection由于某种原因,我得到了一个LdapSearchQueue不包含LdapSearchResult的。请注意,LdapSearchQueue它确实包含其他消息(特别是LdapSearchResultReferenceLdapResponse),但不包含LdapSearchResult我可以手动检查AD,从理论上看它应该具有正确的响应。

显然,它以entry存在而告终null

var filter = $"(&(objectClass=User)(sAMAccountName={<user_name>}))";
var searchBase = "DC=<domain_name>,DC=com";
var search = conn.Search(searchBase, LdapConnection.SCOPE_SUB, filter, null, false, null, null);
    LdapMessage message;
    LdapEntry entry = null;
    while ((message = search.getResponse()) != null)
    {
         if (!(message is LdapSearchResult searchResultMessage))
         {
              continue;
         }
         entry = searchResultMessage.Entry;
    }

任何建议表示赞赏

Questioner
concentriq
Viewed
0
concentriq 2020-12-01 05:45:28

在这种特定情况下,UPN和sAMAccountName属性是不同的(从数年前的移植结果),而通常它们具有相同的值。UPN是在客户端应用程序上提供的,用于成功进行身份验证(用于UPN),但是对sAMAccountName使用相同的值将返回错误。