【问题标题】:Main Page Browser Caching in asp.netasp.net 中的主页浏览器缓存
【发布时间】:2014-11-21 09:44:11
【问题描述】:

我在 asp.net 中面临的问题是,当我成功登录并将默认页面复制到另一个浏览器上时,浏览器会显示默认页面。另一个浏览器应该显示登录页面。我在我的站点主服务器中使用以下代码,但不幸的是它不起作用

  Response.Cache.SetAllowResponseInBrowserHistory(false);
  Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
  Response.AppendHeader("Pragma", "no-cache");
  Response.AppendHeader("Cache-Control", "no-store");

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

【问题讨论】:

  • 如果我理解正确的话,你打开一个新的浏览器,进入页面并登录,然后你在同一个浏览器中打开一个新标签,并想再次注销以显示登录页面还是?
  • 没有。登录后,我将其复制到另一个浏览器上。例如,我在谷歌浏览器中成功登录并将链接复制到 IE,显示的页面是默认页面而不是登录。
  • 跟缓存无关,chrome缓存的页面对IE没有影响
  • 那么,你能建议我做什么?

标签: c# asp.net google-chrome internet-explorer firefox


【解决方案1】:

您如何检查经过身份验证的用户的身份。您是否从 web.config 文件中拒绝匿名用户?或者您在每个页面上都有某种会话或其他检查?您可以做的就是创建一个 BasePage 并从中检查您的安全性..

【讨论】:

  • 我在母版页上使用 if(Session["user"] != null){code}else{back to login}
  • 你应该在你的 web.config 文件中添加这一行来拒绝匿名使用授权>
猜你喜欢
  • 2011-02-22
  • 1970-01-01
  • 2010-10-29
  • 2012-01-10
  • 2014-03-30
  • 2018-06-29
  • 1970-01-01
  • 2010-10-31
  • 2015-07-22
相关资源
最近更新 更多