2013-07-02 40 views
2

我在Web服務器上設置了WCF服務。該服務在訪問時執行一些數據庫操作。此WCF服務必須與數據庫進行交互以及如何創建相同的帳戶(角色和權限)。網絡服務是如何實現這一目標的?WCF:配置角色以訪問數據庫資源

這項服務將被大量用戶訪問,這些用戶將有不同程度的限制。我應該如何以最安全和最健壯的方式實現這一點?

在此先感謝。

+0

爲什麼不使用證書。 http://www.codeproject.com/Articles/28248/Securing-WCF-Services-with-Certificates – Microtechie

回答

2

那麼,這取決於很多因素。

你必須首先回答至少是兩個問題:

  • 誰負責身份驗證:您的活動目錄(用戶對廣告有效),數據庫(SQL Server用戶),或者你使用自定義身份驗證系統(您的數據庫中的User表)?
  • 誰負責授權:您的活動目錄(用戶組),數據庫(SQL Server角色),還是您使用自定義身份驗證系統(Role,UserRole表)?

當你回答這些問題,這是涉及到要管理安全問題的方式(不如何實際使用WCF實現這一點),然後你可以找到使用WCF的一種方式。

更具體地說,你必須選擇用於身份驗證的WCF安全配置:

留言VS運輸安全

  • Windows(偉大的,在你的AD應用程序集成)
  • Username(登錄+密碼)
  • ...等。

然後,基於角色的授權供應商,如果有的話:

  • SqlRoleProvider(SQL Server角色)
  • Windows組(適用於Windows域)
  • 定製

所以你必須先做出一些選擇,然後我建議你閱讀this MSDN article以選擇要使用的安全配置,具體取決於您希望如何管理身份驗證和授權。