C# 针对AD异常验证用户名和密码

C# 针对AD异常验证用户名和密码,c#,active-directory,C#,Active Directory,我有以下代码来验证Active Directory用户(Win7上的VS2008) 对于某些广告用户,这是可以的,但对于广告用户,我将得到以下异常: System.DirectoryServices.Protocols.DirectoryOperationException:服务器无法处理目录请求。 System.DirectoryServices.Protocols.ErrorChecking.CheckAndSetLdapError(Int32 error) System.Director

我有以下代码来验证Active Directory用户(Win7上的VS2008)

对于某些广告用户,这是可以的,但对于广告用户,我将得到以下异常:
System.DirectoryServices.Protocols.DirectoryOperationException:
服务器无法处理目录请求。

System.DirectoryServices.Protocols.ErrorChecking.CheckAndSetLdapError(Int32 error)

System.DirectoryServices.Protocols.LdapSessionOptions.FastConcurrentBind()

System.DirectoryServices.AccountManagement.CredentialValidator.BindLdap(NetworkCredential creds, ContextOptions contextOptions)

System.DirectoryServices.AccountManagement.CredentialValidator.Validate(String userName, String password)

System.DirectoryServices.AccountManagement.PrincipalContext.ValidateCredentials(String userName, String password)

Active Directory域用户设置是否会导致此类异常?

对不起,我上面的描述是错误的。事实上,所有的广告用户验证都会得到这样的异常

工作环境是: (1) 如果验证代码在与AD机器完全相同的机器上运行,则该代码将获得此类异常。 (2) 否则,就没有这样的例外


追加ContextOptions。协商ValidateCredentials的参数以解决问题。

查看此帖子的解决方案。您也可以查看此Stackoverflow帖子,我相信它会回答您的问题。。
System.DirectoryServices.Protocols.ErrorChecking.CheckAndSetLdapError(Int32 error)

System.DirectoryServices.Protocols.LdapSessionOptions.FastConcurrentBind()

System.DirectoryServices.AccountManagement.CredentialValidator.BindLdap(NetworkCredential creds, ContextOptions contextOptions)

System.DirectoryServices.AccountManagement.CredentialValidator.Validate(String userName, String password)

System.DirectoryServices.AccountManagement.PrincipalContext.ValidateCredentials(String userName, String password)