ACS联合会的问题

时间:2011-09-18 19:44:49

标签: wcf azure wcf-security acs

我正在构建Azure托管的WCF服务,我希望使用存储在SQL Server数据库中的凭据来保护ACS。我查看了一堆ADFS2示例,但尚未弄清楚如何执行此操作。我敢肯定我在这里遗漏了一些明显的东西,所以任何建议都会非常感激。谢谢......

2 个答案:

答案 0 :(得分:1)

您应该可以创建自己的STS,如下所示:

http://dotnet.dzone.com/news/5-minutes-wif-make-your-aspnet

只需添加代码即可查看您的用户。

本文讨论如何创建将STS添加到Azure访问控制服务所需的联合元数据:

WIF manually generate federationmetadata.xml

在原始项目中,您应该能够将访问控制服务添加为STS,如果一切设置正确,您将看到新的STS。

答案 1 :(得分:1)

如果您想使用ACS(在您的帖子中不清楚为什么需要它),您需要让您的WCF服务信任ACS,然后配置ACS以信任可以验证用户agaist SQL的STS。您不能使用ADFS,因为它目前仅支持使用AD进行身份验证。

您的选择多种多样,但最简单的方法是在Richard提及时创建您自己的STS,或者使用已经像StarterSTS或CodePlex中更现代的Identity Server的那些(两者都是开源的,由来自Thinktecture的Dominick Baier提供) )。

问题仍然存在:为什么需要ACS?最简单的解决方案是让您的WCF服务直接信任(SQL支持的)STS。

以下是ACS何时有用的一些示例:

  • 您最终需要信任多于1个身份提供商
  • 您的服务所需的声明不是由身份提供商提供的(您需要转换/扩充声明)。
  • 您需要令牌转换(例如SWT - > SAML)