代码之家  ›  专栏  ›  技术社区  ›  Flo

请求LDAP时出现问题:服务器不愿意处理请求

  •  2
  • Flo  · 技术社区  · 16 年前

    我们已经为SharePoint web应用程序编写了一个身份验证提供程序,该应用程序可以请求多个LDAP目录。

    必须通过SSL请求一个LDAP服务器。因此,我们将用于签署LDAP服务器证书的CA证书导入到SharePoint服务器的证书存储中。

    下面的代码片段显示了如何对用户进行身份验证。传递的凭据(帐户、密码)属于我们要验证的用户。

     var entry = new DirectoryEntry("LDAP://<ldap-server-address>", "cn=account,ou=sub,o=xyz,c=de", "password", AuthenticationTypes.SecureSocketsLayer);
     var searcher = new DirectorySearcher(entry);                
     var found = searcher.FindOne();
    

    处理代码时,调用 searcher.FindOne() 抛出以下异常。

    System.Runtime.InteropServices.COMException (0x80072035): The server is unwilling to process the request
    

    什么情况会导致这种错误?

    更新:

    I found some information about the error message .这里的问题似乎是证书存储,因为用户只将证书存储在用户的存储中,而没有存储在计算机的存储中。不幸的是,我们已经把它储存在那里了。那么这仍然是一个证书问题吗?

    更新/解决方案:

    实际上问题已经解决了。似乎根CA证书已正确导入,但LDAP服务器响应的错误消息是由客户提供给我们用于测试的过期用户帐户引起的。

    2 回复  |  直到 16 年前
        1
  •  0
  •   Joel Etherton    16 年前

    您的证书可能未由完全受信任的CA提供服务。您是否已进入证书mmc的信任关系,并将CA服务器建立为LDAP服务器上的受信任根权限?

    编辑:还需要注意的是,报告的服务器名称可能与正在传递的证书不匹配。您可能需要检查LDAP服务器的日志,以确保服务器名称与证书列表的报告相同。

        2
  •  0
  •   Ben Aston    16 年前

    我相信当被修改的用户被禁用时,这个错误可能会发生。

    尝试启用用户并重试修改。