У меня есть один вопрос, я пытаюсь аутентифицироваться в AD через LDAP, и когда я ввожу неверные учетные данные, я получаю сообщение об исключении, подобное этому: 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;
}
Но я не хочу использовать регулярные выражения для сопоставления кода ошибки. Любые идеи?