2010-04-26 107 views
1

我必須使用.Net3.5在我的Web項目中實現用戶基礎安全。以下是一些我們需要:如何在asp.net中實現用戶基礎安全而不是角色基礎?

  1. 角色可以是管理,管理,編輯,會員等
  2. 用戶可以擁有多個角色
  3. 每個角色都有自己的動態菜單和限制/資源
  4. 所有菜單並且接口將從數據庫動態填充

我聽說過這種類型的用戶基礎安全性可以使用HashTable實現,但我不知道它是怎麼回事?

今天我才知道,對於這種工作,Java人們使用Interceptor Design模式。那麼,我怎麼能在asp.net C#中做同樣的事情呢?

回答

0

你檢出了官方的Microsoft ASP.NET網站嗎?有許多與安全有關的教程http://www.asp.net/learn/security/

+0

@Theresa 感謝您的快速回復。我已經經歷了所有關於內部成員提供者的說法,我們不想使用 – 2010-04-26 15:02:18

+0

爲什麼你不想使用成員提供者? – Theresa 2010-04-26 15:15:47

+0

根據客戶要求 – 2010-04-26 15:33:30

0

創建一個HTTP模塊,然後創建一個實現iPrincipal和iIdentity對象的類。在大多數情況下,iIdentity將會加載角色。在HTTP模塊中將Context.User設置爲Authenicate事件中新的iPrincipal對象。
由於兩個接口iPrincipal和iIdentity非常薄,這比成員資格提供者更容易實現。在每個頁面上,您可以使用User.IsInRole(「Rolename」)來驗證用戶是否具有適當的權限。

+0

@ggonsalv 感謝您的回覆,請給我一個代碼示例或任何一種鏈接,我可以找到代碼 – 2010-04-27 13:17:54