C# 针对AD异常验证用户名和密码
我有以下代码来验证Active Directory用户(Win7上的VS2008) 对于某些广告用户,这是可以的,但对于广告用户,我将得到以下异常: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
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)