Problema de control de sesión en aplicación web
Hola, soy nuevo tanto en la comunidad como en el desarrollo de aplicaciones web. De ante mano, doy gracias a quienes me brinden orientación y/o apoyo a la resolución del problema.
El escenario es el siguiente:
Una aplicación web desarrollada mediante el uso de JSP y Servlet. Como motor de base de datos: MySQL 5.1 y como servidor de aplicaciones web: Tomcat 6.0 o superior.
* La aplicación se encuentra en producción desde hace poco mas de un año y desde hace tres meses esta presentando el siguiente comportamiento, haciendo salvedad que el mismo es aleatorio con una muy baja frecuencia de ocurrencia del error; a saber:
* Dos usuarios ingresan a la aplicación y acceden al mismo modulo, hasta ahí todo va bien; el asunto esta en que hay ocasiones en que los datos del usuario1 son registrados bajo la sesión del usuario2 y viceversa. Que datos: Números de recibos, datos de contacto, información de quien realiza la operación, esto es lo mas delicado; porque en la parte contable, los datos quedan registrados bajo los parámetros de sesión del usuario2 cuando realmente fueron realizados por el usuario1.
Este problema, en verdad; me trae de cabeza. NO SE QUE PUEDA SUCEDER, y los clientes ya están molestos con justa causa. Como digo, la aplicación esta en producción desde hace un año, pero solo presenta esta falla (GRAN FALLA) desde hace tres meses.
Como manifesté al comienzo de la misiva, agradezco toda la colaboración y/o orientación que a bien puedan brindarme.
Quedo al pendiente.
- Inicie sesión o regístrese para enviar comentarios
Revisa los cambios que se han
Revisa los cambios que se han publicado en los últimos tres meses. Empieza revisando el código que recibe la información y detecta cómo la está manejando. Es muy probable que estés guardando el id en una variable compartida.
Si no puedes hacer esto tu o alguien de tu equipo contrata a una persona para que detecte el error.Debería de poder encontrarlo en 1 - 2 días
OscarRyz, gracias por tu pronta respuesta
Te comento que no han habido cambios en los últimos meses; no hay variables compartidas, teniendo en cuenta que cuando acceden al mismo modulo, se crean instancias diferentes.
Estoy perdido, otra sugerencia?
Si. Revisa el codigo. Una
Si. Revisa el codigo. Una cosa es lo que tu crees saber de él y otra lo que está pasando realmente. Lo que sabes es que los datos de uno se estan guardando en el lugar de otro.
La forma en la que eso puede ocurrir es la instrucción a tu bd sea algo como " update bla from bar where id = ? " donde ? es el id equivocado. Cómo llega ese id equivocado? Alguien ( tu código ) lo pone, como? Fácil, revisa lo que hace.
Piensa, que otra cosa puede ser? En los últimos tres meses si no ha se han hecho publicaciones quiere decir que el bug existe desde antes, que paso entonces? Se tienen nuevos clientes? Todos los clientes usan el mismo password? Agrega logs, revisa que información viene y cual va. En fin de nuevo me parece que lo más facil, rápido y barato ( a menos que perder clientes no te cueste dinero ) es que contrates a un consultor Java que revise tu código y que diga donde esta el bug.