none
使用UserPrincipal.FindByIdentity 来访问AD用户的问题 RRS feed

  • 问题

  • 尊敬的各位技术专家,

    大家好!现在遇到一个AD的访问问题:

    现象是这样的,AD一开始可以连接,但过一段时间就出现下述问题。如果重启服务器又会正常一会。

    .NET 程序,使用 UserPrincipal.FindByIdentity 来访问AD用户,程序本身没有问题,在另一个环境中运行正常。

    抛出异常:
    System.DirectoryServices.AccountManagement.PrincipalServerDownException: The ser
    ver could not be contacted. ---> System.DirectoryServices.Protocols.LdapExceptio
    n: LDAP 服务器不可用。
       在 System.DirectoryServices.Protocols.LdapConnection.Connect()
       在 System.DirectoryServices.Protocols.LdapConnection.SendRequestHelper(Direct
    oryRequest request, Int32& messageID)
       在 System.DirectoryServices.Protocols.LdapConnection.SendRequest(DirectoryReq
    uest request, TimeSpan requestTimeout)
       在 System.DirectoryServices.AccountManagement.PrincipalContext.ReadServerConf
    ig(String serverName, ServerProperties& properties)
       --- 内部异常堆栈跟踪的结尾 ---
       在 System.DirectoryServices.AccountManagement.PrincipalContext.ReadServerConf
    ig(String serverName, ServerProperties& properties)
       在 System.DirectoryServices.AccountManagement.PrincipalContext.DoServerVerify
    AndPropRetrieval()
       在 System.DirectoryServices.AccountManagement.PrincipalContext..ctor(ContextT
    ype contextType, String name, String container, ContextOptions options, String u
    serName, String password)
       在 System.DirectoryServices.AccountManagement.PrincipalContext..ctor(ContextT
    ype contextType, String name, String container, String userName, String password
    )


    Microsoft. Driving the future.



    2013年4月27日 16:26
    版主

全部回复

  • 看起来是在Connect()时,也就是TCP三次握手时抛出异常。

    那么异常当时,去telnet 服务器的LDAP端口还通吗?服务器上netstat -nao显示了些什么?LDAP端口是否在监听?

    2013年4月28日 9:43
  • 感谢你的回复,这个问题我得向客户具体了解下。

    Microsoft. Driving the future.

    2013年5月3日 8:18
    版主