Volver botón no tiene que ir a la página anterior después de firmar a cabo
-
21-09-2019 - |
Pregunta
Estoy desarrollando un sitio web asp.net y no estoy usando controles de autenticación incorporado de asp.net. He creado manualmente las tablas para los usuarios para el sitio.
Lo que quiero es el siguiente
- Después de ingresar el usuario puede acceder a las páginas (que ya está hecho)
- Cuando el usuario pulse cerrar la sesión (usuario va a la página específica - ejemplo - default.aspx)
- Ahora, cuando el usuario pulsa el botón "atrás" del navegador, no debe ir a la página anterior (lo que se hace en las páginas de Yahoo - Quiero poner en práctica la misma)
Solución
Para evitar que los usuarios vean la página anterior cuando se pulsa el botón de retroceso que necesita para indicar al navegador que no hagan caché de esta página:
Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
Response.Cache.SetValidUntilExpires(false);
Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Se puede poner este código en todas las páginas autenticados, lo que les impide ser almacenado en caché en los navegadores de los clientes.
Otros consejos
En una página no se almacene en caché del navegador necesita para responder adecuadamente a las instrucciones de almacenamiento en caché, pero no hay ninguna garantía de que esto funcionará en todos los navegadores! (Una persona que posea el mal podría escribir su propio navegador para ignorar el almacenamiento en caché de la información, o escribir un proxy para despojar a cabo ...)
Así que no se puede conseguir que esto funcione 100% de las veces, pero siempre se van a enfrentar el problema de que un usuario puede fácilmente tomar una captura de pantalla, imprimir una página, guardar una copia en su disco, etc. . una vez que ha alimentado a una página de todos modos ...
la respuesta para usted pregunta es:
-
Cuando el usuario pulse para cerrar la sesión. (Usuario va a la página específica - ejemplo - default.aspx) se puede añadir un enlace LinkButton como SignOut y en el controlador de eventos click se puede escribir Response.Redirect ( "Default.aspx");
-
Ahora para cuando el usuario pulse botón "atrás" del navegador Debe no ir a la página anterior // añadir el siguiente código a su código detrás de la página
override protected void OnPreRender (EventArgs e)
{
base.OnPreRender(e); string strDisAbleBackButton; strDisAbleBackButton = "<script language="javascript">\n"; strDisAbleBackButton += "window.history.forward(1);\n"; strDisAbleBackButton += "\n</script>"; ClientScript.RegisterClientScriptBlock(this.Page.GetType(), "clientScript", strDisAbleBackButton);
}
referirse a csharpdotnetfreak.blogspot.com