2013-04-12 20 views
0

我想知道我怎麼可以設計使用全局的方法我的申請這樣的場景全球性的辦法來登錄頁面重定向MVC3

  1. 重定向登錄頁面上,如果用戶不進行身份驗證或會話已過期
  2. 如果用戶確實有其他角色並嘗試訪問不屬於該角色的頁面,則在登錄頁面上重定向。
  3. 如果請求的頁面不存在於應用程序中,則在登錄頁面上重定向。
+0

您可以使用屬性和過濾器來完成所有這些操作。快速谷歌將產生大量的例子。 – ChrisBint

回答

0

基本上你可以創建一個ActionFilter看到這一點: http://www.asp.net/mvc/tutorials/older-versions/controllers-and-routing/understanding-action-filters-cs

或其他快捷方式來做到這一點MVC3你可以在頁面剃刀代碼,即碩士頁面頂部檢查會話或認證:_LayOut.cshtm升像這樣的:

@model CustomerModel{ 
if(Session["CustomerId"]==null) 
    RedirectToActionResult("Index","Home"); 

} 

注:爲此,您需要繼承所有與_LayOut.cshtml你的觀點,並不與母版頁繼承/首頁/索引視圖,因爲它會遞歸的運行和你有超時錯誤。

+0

這個工作嗎? –