Есть ли более опрятный способ проверить javax.naming.AuthenticationException
(или пружина) по основной причине отказа? Различные ошибки являются desciribed в Wiki LDAP (Ошибки привязки).
AuthenticationException не обеспечивает достаточного API для определения легко кода ошибки. Единственное содержание является сообщением об исключении.
[LDAP: error code 49 - 80090308:
LdapErr: DSID-0C090334,
comment: AcceptSecurityContext error, data 773, vece]
identifing блок является "данными 773" – обозначающий ошибку ERROR_PASSWORD_MUST_CHANGE
. Но это чувствует себя очень нечетным мне для проверки на message.contains("data 773")
! там какой-либо лучший способ проверить код ошибки?
Отрывок, который бросает AuthenticationException
записан с org.springframework.security.ldap.DefaultSpringSecurityContextSource
.
InitialLdapContext context = (InitialLdapContext) contextFactory
.getReadWriteContext(principal, password);