2015-07-01 86 views
1

我正在開發一個使用ASP.Net MVC 4的Web應用程序,該應用程序有一個登錄頁面和5個其他頁面,只能通過登錄用戶訪問。 那麼,如何在全球範圍檢查會話的存在在所有頁面,而無需在所有其他網頁編寫下面的代碼(操作): -全球會話檢查和重定向在asp.net mvc 4

if (Session["login"] != null) 
     { 
      return View(); 
     } 
     else 
     { 
      return RedirectToAction("LoginPage"); 
     } 

是否有任何其他方式在全球範圍內檢查會議(授權)和重定向到登錄頁面(Action)? 這是可能通過佈局文件?就像我會創建一個通用的頁眉佈局,所有的頁面將被登錄的用戶訪問,所以在頁眉佈局中可以檢查會話(授權)並重定向到登錄頁面(如果沒有登錄)?

+0

使用'Authorize'屬性。 http://www.asp.net/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api – ramiramilu

+0

你可以看看這個:ASP.NET MVC中的表單身份驗證 http: //www.codeproject.com/Articles/578374/AplusBeginner-splusTutorialplusonplusCustomplusF –

+0

@ trungtin1710感謝您的有用鏈接,是否可以通過佈局文件? 像我將創建一個通用的頁眉佈局到所有將被登錄用戶訪問的頁面,因此在該頁眉佈局中可以檢查會話(授權)並重定向到登錄頁面(如果未登錄)? – MAK

回答

0

您可以通過使用[Authorize]屬性裝飾「Base」控制器,然後其他控制器繼承它來簡化填充每個動作。這將使授權持續到「子」控制器及其操作。 但是,如果要在不同操作具有不同角色的成員身份中實施角色,則會出現問題。