![](/img/trans.png)
[英]What is the best way to manage roles in ActiveDirectory for ASP.NET Website?
[英]In ASP.NET, what to use to manage roles and permissions assigned to roles?
我正在使用ASP.NET Web應用程序。 我有一個眾所周知的問題:每個用戶可以屬於一個或多個角色(管理員,公共用戶),每個角色可以具有一個或多個權限(可以編輯,可以刪除,可以上載等),反之亦然。 我想做這樣的事情:[ http://demo.sitefinity.com/Sitefinity/Admin/Modules.aspx?route=GenericControlPanel.PermissionsView`1 ]。
我找到了實現這些的選項:
我還想緩存給定用戶的角色和權限。 我認為我自己需要一些時間,所以您對我有什么建議?
先感謝您
如果您找到了一個針對權限模塊的好的打包解決方案,那么我想看看:)
通常,內置安全提供程序在“標識”和“授權”部分之后停止。 一旦被識別並被授權訪問該應用程序,您就可以自行編碼和管理更具體的頁面或功能級別的權限。
您描述的權限級別實際上是一個相當高級的實現。 它在Windows中鏡像訪問控制列表(ACL)。 盡管看起來很簡單,但實際上很難編寫代碼。 一旦進行了設計,就會發現您必須實現“拒絕”替代權限,必須處理多級組權限合並,然后必須處理“特殊”權限等。 然后,您遇到諸如“編輯權限是否也隱含視圖,如果他們沒有視圖卻有添加”該怎么辦?
真是一團糟。
在您以這種復雜性級別實施權限之前,強烈建議您退后一步,看看您是否可以稍微簡化權限和角色/組模型。 您不僅可以讓角色獲得許可嗎? 例如,可以編輯的角色,可以添加的角色,可以查看...的角色等。
在大多數應用程序中,您實際上並不需要權限系統中的完整ACL(如粒度)。
一旦定義了應用程序真正需要的適當權限級別,通常最好滾動一組自定義對象來管理這些權限。 我不得不說,我從來沒有考慮過使用第二個鏈接角色提供程序作為權限管理器……實際上,這是一個好主意。 但我還是建議不要這樣做。 角色提供程序不是為您要嘗試的操作而設計的,您可能不得不擴展和覆蓋默認行為,以至於僅從頭開始使用自定義實現,它將變得更加簡單和可維護。
這是一個結合身份驗證+權限和角色+日志記錄和審核的工具http://visual-guard.com/
身份驗證可以是Windows,在這種情況下,它實現單點登錄或用戶名/密碼組合
2個控制台可用於管理用戶和權限-一個控制台面向開發人員,並提供一個向導來定義權限,而無需進行編碼(針對.Net),部署和版本控制功能。 -另一個是基於Web的非技術用戶管理員,主要關注用戶帳戶,組並將其映射到角色。
許可在某些情況下可能非常細致(“表格”對於“醫生”從上午8點到上午11點可見,因為它與僅在早上才提供的葯物有關)
它最初只是面向.Net的,現在它們支持Java,Delphi C ++等其他技術,基本上是任何能夠調用Web服務的技術。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.