2011-09-18 85 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)