2014-09-19 55 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)] 

函數或整個控制器之前。