2010-03-02 21 views
4

在.Net中實現應用程序授權和授權的最佳方式是什麼?早些時候AzMan被用作標準方式。隨着提供者模型的出現,至少角色被照顧,但我不確定授權&權利。我正在考慮爲角色/用戶定義和訪問操作級別權限的能力。什麼是實現上述最合適的方式?在.Net上的授權和權利解決方案就像之前的AzMan

回答

3

根據this博客文章,ClaimsAuthorizationManager API是'下一代AzMan'。但它只是一個API,並沒有提供默認實現或管理GUI,所以它還不是真正的直接替代品。

2

WIF /日內瓦的東西仍然不像AzMan那樣「成熟」。我們現在已經使用AzMan大約3年了,我們的實現已經從直接鏈接發展到azman.dll,直到基於WCF的服務提供角色和操作。 WCF服務爲WinForms,WPF客戶端提供服務,現在我正在使其與Silverlight一起工作。我不認爲我們很快就會從AzMan轉換,至少在前端製作WIF角色,操作等類似於在azman中免費提供的操作之後......

至於細節,好吧,我們在Active Directory中有我們的azman存儲,並且構建了一個.net dll,它提供了圍繞醜陋的COM azroles.dll的.net包裝。除此之外,我們還有一個WCF服務,它基本上只是將角色和操作的請求直接傳遞給.net azman dll。角色和操作等作爲字符串數組返回,供客戶端處理。有兩種方法可以通過服務進行身份驗證。通過1)匿名身份驗證,或者2)Windows身份驗證(pass-thru)。這意味着如果您提供用戶名和密碼,則使用匿名身份驗證,它首先使用這些字符串來驗證您。如果使用pass-thru/Windows身份驗證,那麼WCF服務已經知道你是一個經過身份驗證的Windows用戶......可能有一個參數用於將匿名和Windows身份驗證拆分爲兩個獨立的服務...

通常, winforms和WPF客戶端使用Windows身份驗證通過並獲得可用角色,而Silverlight客戶端使用匿名身份驗證...

+0

偉大的卡拉努斯!如果你能分享你的方法的更多細節,那將是很好的。 – Kabeer 2010-07-08 18:00:13

+0

根據你的描述,這聽起來像你只是使用AzMan作爲角色和操作商店。你完全使用AccessCheck()方法嗎? – 2010-09-21 19:09:56

相關問題