2013-05-30 19 views
0

的問題對身份驗證Windows身份認證的活動目錄,並提供相關的組意見

我是誰被賦予創建用於多用戶密碼管理系統的任務的ASP.NET福利局在一個安全的內聯網內。本質上,用戶將通過Windows身份驗證自動登錄,然後根據他們的組提供適當的視圖。例如,組「admin」的用戶將能夠訪問所有密碼條目,並且組開發者的用戶將能夠訪問屬於「Developers」活動目錄組中的用戶的所有密碼條目。用戶應該能夠創建,更新和隱藏(刪除)密碼條目。

我至今

到目前爲止,我基本上已經搞清楚什麼都會,不會是不可能的,和研究技術。 Windows身份驗證本身似乎很容易,但是當我啓用角色提供程序時,它會中斷,這似乎是爲用戶提供不同視圖所必需的。 '休息'我的意思是特定的用戶仍然認可,但整個團體都沒有。

不同意見必須自動送達,我想出了兩種技術來做到這一點:

  1. 檢查家居控制器上的角色(組),並服務於相應的視圖。然而,這將需要一長串混亂的'if'陳述。

  2. 服務於一個共同的視圖,並允許或不允許根據組查看某些元素。這需要在視圖中放置很多邏輯,這是我理解的不合適的。

將會有一個password.cs模型類,它將保存密碼條目的所有信息,包括哪些組應該有權訪問它。我不能真正想到其他任何必要的模型,因爲用戶信息不需要存儲。

安全關切

據我所知,在一個位置存儲這些敏感數據可能是一個災難。密碼將使用我可以訪問的預先存放的庫進行適當加密。我會在這方面有所幫助。此外,系統上的密碼不能以純文本的形式顯示,以避免肩上衝浪,但會顯示爲星號並可複製到用戶剪貼板。

我的問題

基本上我想就如何構建系統和最簡單的方法,以實現與windows身份驗證活動目錄授權一些建議。我想就如何爲用戶提供適當的視圖以及不同區域應該如何配合在一起提供一些建議。我沒有明確要求密碼安全方面的任何幫助,但任何見解或討論都會受到熱烈的歡迎。從本質上講,我非常感謝任何幫助,鏈接到教程或建議閱讀。

我的工具

在我手上我的Visual Studio 2010專業,MVC 4.0和.NET Framework 4。0和標準(非管理員)訪問服務器。

我就能給我目前在明天舉行的實驗代碼(這是22:30 GMT,我會回來的辦公室明天早上)。讓我知道你是否需要更多信息。

+0

我編輯了您的標題。請參見「[應的問題包括‘標籤’,在他們的頭銜?(http://meta.stackexchange.com/questions/19190/)」,這裏的共識是「不,他們不應該」。 –

+0

你是不是使用一個數據庫?一系列IF語句不是必需的 - 存儲用戶/組信息自然適合於數據庫。在捏,使用文本文件! – ErikE

回答

0

我已經實現了兩個方案,我必須用MVC的Active X Directory集成。有多種解決方案(例如來自企業庫的安全應用程序塊)。但是,我結束了使用AzMan和RoleManagerAzManProvider。我結束了這個組合,因爲我不需要部署任何額外的庫。

我開始這篇文章:http://msdn.microsoft.com/en-us/library/ff649313.aspx][1]

即使它是用於ASP.NET寫的,我可以用它來MVC。我把我的XML本地策略存儲app_data文件下方,配置web配置

<add name="LocalPolicyStore" connectionString="msxml://~/app_data/MyPolicyStore.xml" /> 

這很好地摸索出適合我,因爲政策的商店讓我來定義應用程序角色,當我的客戶端部署,映射到AD那些角色帳戶。

在那之後,我實現了一個自定義的授權屬性,我在全局過濾器註冊。這是我做的頁面,當他們登錄到應用程序的用戶會被重定向的決定。最後,我使用基於組名稱的控制器上的標準授權屬性。

我想過要編寫一組自定義編輯器模板和顯示模板,以便將角色考慮在內,以便我可以根據用戶的應用程序角色(呈現跨度而不是輸入)渲染不同的UI。

雖然您的應用程序可能已經寫的,我希望這有助於。

查克

相關問題