2011-07-24 75 views
2

我在ASP.NET MVC 3中編寫了一個基於角色的應用程序。顯然,根據用戶所處的角色,將取決於他們有權訪問哪些頁面或功能。我不是真的確定最好的地方,或者在MVC應用程序中實現這一點的方法。任何信息或指向某些資源將不勝感激。在ASP.NET MVC中實現訪問控制3

在此先感謝。

+0

你想實現自己的安全和會員制機制,還是現在就使用一些東西? –

+0

我可能會通過我自己來實現我自己的。 – Dietpixel

回答

1

如果你想實現自己的會員制度,那麼你就可以按照下列步驟操作:

  1. 您要定義訪問的安全要求(請求的方式把一個HttpModule(一類從IHttpModule的繼承)控制)
  2. 在該模塊中,創建一個處理程序AuthenticateRequest事件
  3. 在該處理程序中,檢查一個認證cookie該請求。這個cookie可以是你的,或者你可以使用FormsAuthentication類爲你創建,加密和解密cookies。
  4. 如果存在cookie,則加載用戶的角色,並將它們作爲鍵/值對存儲在HttpContext.Current.Items中。這樣,你可以在任何你想要的地方使用它。
  5. 如果沒有,則將用戶重定向到登錄頁面。登錄頁面的地址可以通過設置或web.config進行檢索
  6. 在登錄頁面中,獲取用戶的登錄信息,包括用戶名和密碼,然後創建一個Authentication Cookie併發送給客戶端。
1

Membership Provider內置於.NET中,可在MVC3中使用。我鏈接的文章概述瞭如何使用.NET框架附帶的默認實現,但可能需要create your own,但我建議先熟悉默認設置。