Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
避免在注销ASP.NET C#2.0后显示以前的页面_C#_Asp.net_Asp.net 2.0_Logout - Fatal编程技术网

避免在注销ASP.NET C#2.0后显示以前的页面

避免在注销ASP.NET C#2.0后显示以前的页面,c#,asp.net,asp.net-2.0,logout,C#,Asp.net,Asp.net 2.0,Logout,我在注销时遇到问题。注销应用程序后,当用户按下浏览器后退按钮时,将显示这些安全页面 而且页面加载事件也不会触发浏览器后退按钮。我正在使用母版页 和内容页 我的注销功能在母版页中 Session.Clear(); Session.Abandon(); Session.RemoveAll(); Response.Redirect("~/Default.aspx"); 这里我的登录页面是Default.aspx。您需要做的是,不要缓存要阻止用户在注销后访问的页面: R

我在注销时遇到问题。注销应用程序后,当用户按下浏览器后退按钮时,将显示这些安全页面

而且页面加载事件也不会触发浏览器后退按钮。我正在使用母版页 和内容页

我的注销功能在母版页中

    Session.Clear();
    Session.Abandon();
    Session.RemoveAll();
    Response.Redirect("~/Default.aspx");

这里我的登录页面是Default.aspx。

您需要做的是,不要缓存要阻止用户在注销后访问的页面:

Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();

我认为您不应该重定向到
Default.aspx
,在我看来,我通常会创建一个“中间页”,该页将检查会话并防止注销后返回上一页

路线可能是这样的: 注销->清除会话页面->登录页面


所以,在登录页面中,若您单击浏览器上的“上一步”按钮,它将允许您清除会话页面并返回登录区域。

注销后清除浏览器缓存清除浏览器缓存将实现此目的,但显示的文档不再可用“浏览器消息”。我想,若用户按下后退按钮,他应该留在登录页面后,才注销。我没有使用ASP.NET成员资格提供程序,即使StackOverflow存在此问题。您可以在每个页面的页面加载事件上检查会话的凭据(如果存在),然后继续,否则重定向到登录页面似乎是个好主意。我只是上传了一个样本,你可以得到它并尝试它。我不能得到样本。你可以试试这个吗