0

我正在构建一个 Azure 托管的 WCF 服务,我想使用存储在 SQL Server 数据库中的凭据通过 ACS 来保护它。我查看了一堆 ADFS2 示例,但还没有弄清楚如何做到这一点。我敢肯定我在这里遗漏了一些明显的东西,所以任何建议都将不胜感激。谢谢...

4

2 回答 2

1

您应该能够创建自己的 STS,如下所示:

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

只需添加代码以查找您的用户。

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

WIF 手动生成 federationmetadata.xml

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

于 2011-09-19T09:54:18.387 回答
1

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

您的选择多种多样,但最简单的方法是创建您自己的 STS,正如 Richard 所提到的,或者使用像 StarterSTS 或 CodePlex 中更现代的 Identity Server(两者都是开源的,由 Thinktecture 的 Dominick Baier 贡献)。

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

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

  • 您最终需要信任超过 1 个身份提供者
  • 您的服务期望的声明不是由身份提供者提供的(您需要转换/增加声明)。
  • 您需要令牌翻译(例如 SWT -> SAML)
于 2011-09-20T09:10:02.350 回答