2011-07-20 43 views
0

我已經創建了一個MVC應用程序,沒有使用asp.net會員提供程序,我想將用戶重定向到登錄頁面,如果用戶註銷並從資源管理器中按回按鈕。註銷後用戶點擊後退按鈕時,如何重定向到登錄頁面?

感謝

+0

如果他們這樣做會有什麼影響?假設你已經正確地實現了你的自定義授權方案,他們將無法執行任何應該進行身份驗證的操作,對吧? –

+0

是啊,你的權利..但我有一個頁面上的管理員用戶可以執行所有的CRUD操作和權利分配和所有,如果我點擊此頁面上的註銷並點擊返回它顯示頁面再次與用戶上一次管理員登錄,即使我創建了一個自定義授權類,它可以確定任何用戶是否登錄了天氣。當調用視圖的控制器時調用它。 – Saad

+0

好的,很好,但如果有人然後嘗試執行需要管理員權限的操作,該怎麼辦?他們獲得「拒絕訪問」還是被允許執行此操作?如果是後者,那麼你有一個完全不同的問題來處理。 –

回答

2

你不能這樣做,因爲頁面的用戶看到,當點擊「返回」實際上是在頁面的緩存版本。

你能做的最好的是要求不緩存記錄在網頁瀏覽器中,要做到這一點,你會放在:你認爲不應該是「返回鍵」訪問的所有頁面

Response.Cache.SetCacheability(HttpCacheability.NoCache); 

但這只是一個請求,瀏覽器沒有義務強制。

2

現在,我能想到的兩種解決方案,您可以創建由會話,餅乾,等,爲您的控制器的過濾器,並控制認證......(我不推薦)

操作過濾器的樣品http://www.asp.net/mvc/tutorials/understanding-action-filters-cs

第二個,在我看來是最好的,我preffer做一些更簡單的身份驗證,如窗體身份驗證......看看這個鏈接:

http://weblogs.asp.net/fredriknormen/archive/2008/02/07/asp-net-mvc-framework-using-forms-authentication.aspx

我在我的項目中使用這種方法,工作正常!簡單而簡單! 我不太喜歡會員供應商。

我希望它能幫助你!

PS:抱歉我的英語!

相關問題