2011-09-18 69 views
0

我正在構建Azure託管的WCF服務,我想使用存儲在SQL Server數據庫中的憑據來保護ACS。我已經看過一堆ADFS2的例子,但還沒有弄清楚如何做到這一點。我敢肯定,我錯過了一些明顯的東西,所以任何建議將不勝感激。謝謝...ACS聯邦問題

回答

1

如果你想使用ACS(雖然你不明白爲什麼你需要它),你需要讓你的WCF服務信任ACS,然後配置ACS來信任一個可以驗證用戶對SQL的認證的STS。您不能使用ADFS,因爲它當前僅支持使用AD進行身份驗證。

您的選擇是多種多樣的,但最簡單的方法就是像Richard提到的那樣創建自己的STS,或者使用一個已經像StarterSTS或CodePlex中更加現代化的Identity Server一樣的開源代碼(由Dominick Baier提供Thinktecture)。

問題雖然仍然存在:爲什麼你需要ACS?最簡單的解決方案是讓您的WCF服務直接信任(SQL支持的)STS。

下面是當ACS將是有益的一些例子:

  • 你最後需要信任超過1個身份提供商
  • 索賠您的服務要求不能由身份提供商提供(你需要轉型/增加索賠)。
  • 您需要令牌翻譯(例如SWT→SAML)