Java LDAP身份验证到AD错误代码

Java LDAP身份验证到AD错误代码,java,authentication,active-directory,unboundid-ldap-sdk,Java,Authentication,Active Directory,Unboundid Ldap Sdk,我有一个问题,我正在尝试通过LDAP向AD进行身份验证,当我放入无效凭据时,会收到如下异常消息: LDAPException(resultCode=49(无效凭证),errorMessage='80090308:ldaper:DSID-0C090a9,comment:AcceptSecurityContext错误,数据52e,v1db0,这是可以的,但此异常的更确切原因部分是“数据52e”,它告诉我“无效凭证”。当凭证良好,但例如“密码过期”在异常消息中,我将获得“数据532”。根据异常原因(5

我有一个问题,我正在尝试通过LDAP向AD进行身份验证,当我放入无效凭据时,会收到如下异常消息:
LDAPException(resultCode=49(无效凭证),errorMessage='80090308:ldaper:DSID-0C090a9,comment:AcceptSecurityContext错误,数据52e,v1db0
,这是可以的,但此异常的更确切原因部分是“数据52e”,它告诉我“无效凭证”。当凭证良好,但例如“密码过期”在异常消息中,我将获得“数据532”。根据异常原因(533帐户禁用、701帐户过期等),这部分消息可能具有不同的值。我的问题是如何仅捕获这部分异常消息。我希望根据此错误代码处理异常。例如:

switch(err_code){
case 52e:
System.out.println("invalid credentials");
break;
case "530,":
System.out.println("not permitted to logon at this time");
break;
}

但我不想使用常规表达式来匹配错误代码。有什么想法吗?

这些代码可能是特定于Active Directory实现的。请查看对的解释。

使用LDAPException#getDiagnosticMessage()检查诊断消息的内容