/ / Spring Security - Active Directory devuelve 49 - 775 (cuenta de usuario bloqueada) para usuarios válidos (desbloqueados) - java, spring, active-directory, ldap

Spring Security - Active Directory devuelve 49 - 775 (cuenta de usuario bloqueada) para usuarios válidos (desbloqueados) - java, spring, active-directory, ldap

Me encontré con un completo misterio. Tengo una aplicación web basada en Spring, que autentica a los usuarios contra Active Directory. En uno y solo un servidor (PROD, ¿dónde más, verdad?), No puede extraer la información del usuario:

Causado por: javax.naming.AuthenticationException: [LDAP: código de error 49 - 80090308: LdapErr: DSID-0C0903A9, comentario: error AcceptSecurityContext, datos 775, v1db1x00] en com.sun.jndi.ldap.LdapCtx.mapErrorCode (LdapCtx.java:3087)

Claramente no es un problema de cuenta aunqueparece que uno Utilizo mis propias credenciales y funcionan para el inicio de sesión en el escritorio (SSO), así como en todas las demás instancias de esta aplicación que se ejecuta en diferentes entornos. Por lo que puedo decir, Spring AD también está configurado apropiadamente:

<bean id="authProvider" class="org.springframework.security.ldap.authentication.ad.ActiveDirectoryLdapAuthenticationProvider">
<constructor-arg value="${ldap.domain}" />
<constructor-arg value="${ldap.providerUrl}" />
<constructor-arg value="${ldap.rootDn}" />
<property name="authoritiesMapper" ref="authMapper"/>
</bean>

<bean id="authMapper" class="ca.myapp.spring.UserContextMapper">
<property name="adminGroupsAsString" value="${ldap.adminGroups}"/>
<property name="userGroupsAsString" value="${ldap.userGroups}"/>
</bean>

Así que para mí, parece que el problema está en esa única caja. ¿Alguien ha visto este comportamiento en el pasado? Cualquier ayuda es muy apreciada.

Incluso terminé construyendo una máquina virtual usando el mismoImagen ISO de PROD, para verificar si puedo reproducir el error. Funciona como un encanto: puedo iniciar sesión y no hay excepciones de autenticación ... Parece que es un cuadro en particular (PROD), donde obtengo el error "usuario bloqueado" para usuarios válidos (desbloqueados).

Aquí está la información de la versión, si es necesario: RHEL 6.3 Tomcat 6 Java 1.7.09 Spring Security 4.0.3.RELEASE

Respuestas

0 para la respuesta № 1

La solución resultó ser muy fácil. No era un problema técnico, sino un problema de personas. Antes de la implementación, se modificó el contexto de Spring en el archivo WAR para que apunte a la versión de prueba de Active Directory por un usuario anónimo. El archivo de propiedades era el mismo, que apunta al producto AD, pero se modificó el XML de configuración de contexto ... Alguien tiene un muy buen sentido del humor ...