我有一个问题,我正在尝试通过 LDAP 向 AD 进行身份验证,当我输入无效凭据时,我收到如下异常消息:
LDAPException(resultCode=49 (invalid credentials), errorMessage='80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 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;
}
但我不想使用正则表达式来匹配错误代码。有任何想法吗?