2014-09-19 53 views
2

我正在一个网站上工作。为此,我在LogIn用户可以看到他的主页后创建了一个LogIn系统。 但我面临一个问题。当用户注销时,我删除所有的会话和cookie。并以一种好的方式放弃了流程。之后,当我在浏览器中插入用户主页网址,然后按回车。如何重新请求页面后退按钮点击在asp mvc

这样的:www.exam.com/user/home

重定向是唐的一个好办法和服务器重定向我木素页面上。

但是,如果我通过回推按钮的这个东西。浏览器显示我的用户主页。 这是问题。

我也检查这个事情与Facebook。并且做得不好。

请帮我解决这个问题。因为我尝试了我的所有支付,但没有任何工作。

感谢

+0

可能的重复[如何清除浏览器缓存浏览器后退按钮点击MVC4?](http://stackoverflow.com/questions/16337149/how-to-clear-browser-cache-on-browser-back-按钮单击功能于mvc4) – NotMe 2014-09-19 18:26:50

回答

1

你必须设置页面立即过期。例如:

// disabling caching for all parent pages 
    protected override void OnInit(EventArgs e) { 
     base.OnInit(e); 
     Response.Cache.SetCacheability(HttpCacheability.NoCache); 
     Response.AppendHeader("Cache-Control", "no-cache, no-store"); 
     Response.Cache.SetExpires(DateTime.UtcNow.AddYears(-1)); 
    } 

我在我的母版页上有。这告诉浏览器不要缓存页面。因为它不再被缓存,所以如果用户点击后退按钮,它会导致浏览器将页面请求发送到服务器,此时您可以将它们重定向到登录页面。

3

在我看来更好的解决办法是设置缓存生命属性的功能/控制器。它可以通过添加:

[HttpGet, OutputCache(NoStore = true, Duration = 1)] 

函数或整个控制器之前。