Ésta es una entrada antigua, pero si alguien todavía está buscando respuestas, aquí hay una completa y paso a paso solución sobre cómo lograr un cierre de sesión limpio con una nueva ID de sesión en todo momento.
Tenga en cuenta que este artículo se aplica únicamente a los sitios habilitados para cookies (sin cookies = falso).
Paso (1) Modificar el archivo web.config & complemento "regenerateExpiredSessionID" marcar como bajo -
<sessionState mode="InProc" cookieless="false" regenerateExpiredSessionId="true" />
Paso (2) Agregue el código siguiente en su evento de cierre de sesión -
Session.Clear();
Session.Abandon();
Response.Cookies.Add(New HttpCookie("ASP.NET_SessionId", ""));
Response.redirect(to you login page);
Paso (3) Agregue el siguiente código en el evento page_load de su página de inicio de sesión:
if(!IsPostBack)
{
Session.Clear();
Session.Abandon();
}
Los pasos 2 y 3 sirven para un propósito IMPORTANTE. Este código asegura que se genere una nueva ID de sesión después de hacer clic en el botón "Iniciar sesión". Esto evita la gestión de sesión débil (vulnerabilidad de fijación de sesión) que probablemente se detectará durante una prueba de penetración de terceros de su sitio.
Espero que esto ayude.
¿Por qué querías eliminar la identificación de la sesión? Me ayudará mucho si responde mi pregunta aquí: http://stackoverflow.com/questions/37642982/why-not-to-reuse-asp-net-sessionid –