Safari - 显示过期的.NET页面

时间:2009-06-03 19:03:55

标签: c# asp.net security safari

Safari中有一个奇怪的问题。 当用户退出我们的Web应用程序时,我们使用以下

使表单身份验证失效
 FormsAuthentication.SignOut();
 Session.Abandon();

这在IE和Firefox中运行良好(当用户按下后退按钮时,它们会显示页面过期消息并被强制登录)但在Safari中,用户正在处理的最后一页显示出来。我尝试了许多建议的想法,比如设置Response.Expires但没有任何帮助,有没有人遇到过这个问题?你有任何建议/解决方法吗?

由于

4 个答案:

答案 0 :(得分:1)

您确定该页面不仅仅是在浏览器上缓存吗?

您是否尝试按后退按钮,然后点击某些链接?它会提示您登录吗?

这听起来像浏览器缓存给我。

也许你可以试试:

<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
但是,我并不完全确定它会起作用。

答案 1 :(得分:0)

您使用的是Safari 4测试版吗?如果是这样,我也有同样的问题。不知道是什么导致了它,虽然我假设错误处理cookie破坏。

答案 2 :(得分:0)

听起来Safari正在显示页面的缓存副本。

您可能需要阅读Disabling browser caching for all browsers from ASP.NET

答案 3 :(得分:0)

我试过联系苹果,到目前为止没有答案。 问题仍然存在。

同时(仅供您测试 - 可能作为对您用户的推荐): 转到开发&gt; 禁用缓存,它现在应该按预期工作。