Jag har en web applikation som kräver inloggning. Jag använder mig av asp.net 2.0, masterpage och login kontrollen. När användaren väljer att logga ut så redirectas han till inloggningssidan. Om man då från inloggningssidan trycker på browserns tillbaka-knapp så kommer man tillbaka till den sidan som man loggade ut ifrån. Jag kan komma till alla sidor jag varit inne på tidigare i denna session men inte de andra för då blir jag redirectad till inloggnings sidan, vilket jag inte vill man ska kunna göra. Det har att göra med att webläsaren cachar dessa sidor i sitt minne, så när du trycker tillbaka så går den inte till webservern för att hämta en ny sida, utan tar den som finns i cachen.Chachen töms inte vid logout
Koden i utloggnings scriptet ser ut enligt nedan:
protected void Page_Load(object sender, EventArgs e)
{
Session.Abandon();
Session.Clear();
FormsAuthentication.SignOut();
Roles.DeleteCookie();
FormsAuthentication.RedirectToLoginPage("login.aspx");
}Sv: Chachen töms inte vid logout
Du får leka lite med Request objektets olika properties, kommer inte ihåg exakt vilka det är som säger åt webservern att inte cacha sidan.
- M