2013-07-22 60 views
2

我想根據當前用戶的角色設置一些特定的權限。 例如: 我不得不角色3個角色 讓它成爲如何在asp.net中設置嵌套角色成員

  1. 超級管理員
  2. 聯繫
  3. 主管

如果我的上司,超級管理員和管理員應該設置權限自動獲得許可。 如果我爲Admin設置,那麼超級管理員應該獲得權限,但是管理員不應該能夠訪問這些頁面。

請該解決方案幫助

注:我不想給特定的用戶給出多個角色

+0

據我所知,它不是在aspnet成員身份的樹結構。所以你不能這樣做。沒有角色 - 副作用關係。您可以自己創建角色子角色關係,但這不是一個好主意,它會影響許多aspnetmembersmembership功能。 –

+0

@DavutGürbüz謝謝你的回覆,我知道沒有樹結構,我認爲會有某種方式可以使用C#代碼來定義訪問級別 –

+0

你必須增強aspnetmembership表和存儲過程。這是可以做到的,但我猜這兩天工作很踏實。 – Alexander

回答

0

有使用「授權管理器」非常有效的解決方案。

它爲基於角色的訪問控制集成到應用程序提供了一個靈活的框架。它使使用這些應用程序的管理員能夠通過與作業功能相關的指定用戶角色提供訪問權限。

授權管理器應用程序以存儲在Active Directory域服務(AD DS),Active Directory輕型目錄服務(AD LDS),XML文件或Microsoft SQL Server數據庫中的授權存儲區的形式存儲授權策略。這些策略然後在運行時應用。

的更多信息,請訪問http://msdn.microsoft.com/en-us/library/bb897401.aspx

0

我不想給特定用戶的多個角色。

您應該能夠爲用戶分配多個角色;這是角色基礎授權應該如何實現的。角色的身份驗證不應該依賴於其他角色。

請不要爲基於角色的認證實施層級角色。

這不是一個好的設計實踐。如果你不小心,他們將成爲循環依賴,他們很難調試。