¿Hay alguna manera más clara de verificar el javax.naming.AuthenticationException
(o primavera) por el motivo principal de falla? Los diferentes errores se describen en LDAP Wiki (Binding Errors).¿Hay alguna manera más clara de analizar AuthenticationException para el código de error?
La AuthenticationException no proporciona suficiente API para determinar fácilmente el código de error. El único contenido es el mensaje de excepción.
[LDAP: error code 49 - 80090308:
LdapErr: DSID-0C090334,
comment: AcceptSecurityContext error, data 773, vece]
El bloque identifing es los "datos 773" - de pie para el error ERROR_PASSWORD_MUST_CHANGE
. ¡Pero me parece muy extraño comprobar message.contains("data 773")
! ¿Hay alguna forma mejor de verificar el código de error?
El fragmento que arroja el AuthenticationException
se escribe con el org.springframework.security.ldap.DefaultSpringSecurityContextSource
.
InitialLdapContext context = (InitialLdapContext) contextFactory
.getReadWriteContext(principal, password);