【发布时间】:2011-11-19 19:25:47
【问题描述】:
我正在构建一个 Azure 托管的 WCF 服务,我想使用存储在 SQL Server 数据库中的凭据通过 ACS 来保护它。我查看了一堆 ADFS2 示例,但还没有弄清楚如何做到这一点。我敢肯定我在这里遗漏了一些明显的东西,所以任何建议都将不胜感激。谢谢...
【问题讨论】:
标签: wcf azure wcf-security acs
我正在构建一个 Azure 托管的 WCF 服务,我想使用存储在 SQL Server 数据库中的凭据通过 ACS 来保护它。我查看了一堆 ADFS2 示例,但还没有弄清楚如何做到这一点。我敢肯定我在这里遗漏了一些明显的东西,所以任何建议都将不胜感激。谢谢...
【问题讨论】:
标签: wcf azure wcf-security acs
您应该能够创建自己的 STS,如下所示:
http://dotnet.dzone.com/news/5-minutes-wif-make-your-aspnet
只需添加代码以查找您的用户。
这篇文章讨论了如何创建将 STS 添加到 Azure 访问控制服务所需的联合元数据:
WIF manually generate federationmetadata.xml
在您的原始项目中,您应该能够将访问控制服务添加为 STS,如果一切设置正确,您将看到新的 STS。
【讨论】:
如果您想使用 ACS(虽然在您的帖子中没有说明为什么需要它),您需要让您的 WCF 服务信任 ACS,然后将 ACS 配置为信任可以针对 SQL 对用户进行身份验证的 STS。您不能为此使用 ADFS,因为它目前仅支持使用 AD 进行身份验证。
您的选择多种多样,但最简单的方法是创建您自己的 STS,就像 Richard 提到的那样,或者使用像 StarterSTS 或 CodePlex 中更现代的 Identity Server(两者都是开源的,由 Thinktecture 的 Dominick Baier 贡献) )。
问题仍然存在:为什么需要 ACS?最简单的解决方案是让您的 WCF 服务直接信任(SQL 支持的)STS。
以下是 ACS 何时有用的一些示例:
【讨论】: