我在用户登录时保留一个 Session 变量。 因此,当用户单击 btnLogout 时,它必须清除我的所有 session 并将用户注销!
它确实清除了我的 session ,但是如果我在注销后立即单击 IE 中的“返回”按钮,那么我仍然处于登录状态!这意味着它会返回到用户仍处于登录状态的屏幕。
我的注销代码
protected void btnLogout_Click
{
Session.Clear();
Session.Abandon();
Session.RemoveAll();
Response.Redirect("Home.aspx");
}
为什么会这样,我该如何预防?
编辑: 在我可以执行的代码中是否有一个选项可以禁止用户在 Web 浏览器中按“后退”按钮?
最佳答案
你可以把它放在你的 Master 的 Page_Init 中:
Response.Cache.SetNoServerCaching();
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Response.Cache.SetExpires(new DateTime(1900, 01, 01, 00, 00, 00, 00));
例如,大多数银行网站都会这样做,因此您无法有效地使用后退按钮。
关于c# - 我在 asp.net 2.0 中的 session 变量有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/833680/