Asp.net Sesiones cruzadas / mezcladas

ace unas semanas, uno de nuestros clientes nos contactó diciendo que a veces, cuando crea una actividad, se crea bajo el nombre de otra persona.

Hemos solucionado algunos problemas y no hemos podido encontrar nada. Le pedimos al usuario que nos contactara la próxima vez que experimentara estos problemas. Se puso en contacto con nosotros y pudimos hacer una reunión con él y ver el problema con nuestros propios ojos.

No fueron solo las actividades, fue reconocido como alguien más en la aplicación. Tenía acceso a todo lo que otra persona debería tener acceso. Fue entonces cuando nos dimos cuenta de que teníamos un problema de sesión confusa.

Un poco sobre nuestro código:
Como cualquier otra aplicación, tenemos una página de inicio de sesión simple en la que el usuario ingresa el correo electrónico y la contraseña y los autenticamos en nuestra base de datos y, si son válidos, llamamos a FormsAuthentication.SetAuthCookie () para guardar la identificación del usuario actual en la cookie y lo dejamos entrar. @

BL.User currentUser = BL.User.Authenticate(txtUsername.Text, txtPassword.Text);

if (currentUser != null)
{
    this.Session["NumberOfLoginTried"] = "0";
    FormsAuthentication.SetAuthCookie(currentUser.UserID.ToString(), chRememberMe.Checked);
    Response.Redirect(FormsAuthentication.GetRedirectUrl(currentUser.UserID.ToString(), false));
}

También utilizamos el siguiente código para obtener la identificación del usuario conectado (usuario actual) en nuestra aplicación.

public static int GetCurrentUserID()
{
    int userID = -1;
    int.TryParse(HttpContext.Current.User.Identity.Name, out userID);
    return userID;
}

Y sí, hicimos nuestra tarea, buscamos en Google y hemos visto los siguientes dos enlaces:

http: //lionsden.co.il/codeden/? p = 446
Mezcla de sesiones ASP.NET usando StateServer (¡ESCUELA!)

Hemos deshabilitado el almacenamiento en caché en modo kernel y el almacenamiento en caché en modo usuario para archivos .aspx y .ascx y esto todavía está sucediendo.

P.S: la aplicación se ejecuta en Windows 2008 R2 con IIS 7.5. Y somosN usando sesión sin cookies.

Respuestas a la pregunta(7)

Su respuesta a la pregunta