Retraso en el efecto de cambio de contraseña de Active Directory usando Java y LDAP

Una actualización sobre los recientes artículos relativos a las operaciones que podemos efectuar utilizando LDAP para comunicarnos con un servidor Active Directory. Tras algunas pruebas he descubierto que al cambiar la contraseña de un usuario utilizando los mecanismo que hemos visto aquí (a través de LDAP) ese usuario puede validarse en el dominio utilizando ambas contraseñas: la antigua y la nueva. Evidentemente ese efecto no es permanente, sino que se prolonga durante un cierto tiempo posterior a la operación de cambio de contraseña. No he encontrado información muy clara sobre las causas: algunos enlaces hablan de un mecanismo de configuración de dominios basados en Windows 2003, otros de caches intermedias. Los tiempos tampoco están claros.

En general no es un problema crítico pero puede provocar confusión entre los usuarios en determinados casos. Una solución habitual es cerrar esa ventana de tiempo por código para no permitir al usuario volver a validarse con la aplicación hasta que no haya caducado su antigua contraseña. Para eso es necesario saber cuanto tiempo acepta el sistema la antigua contraseña. En mi caso son cinco minutos, tiempo que he obtenido por pruebas básicas: una pequeña aplicación que cambia la contraseña y va probando de validar con la antigua y la nueva cada 10 segundos. Después de varias repeticiones ha quedado confirmado que son 5 minutos exactos, así que puedo fijar el tiempo de bloqueo en 10 minutos para curarme en salud.

Entradas relacionadas: