0

我是 SSO 和 ADFS 的新手,所以我尝试先运行本指南:AD FS 2.0 Federation with a WIF Application Step-by-Step Guide。本指南暗示使用单台机器运行它,但我在 2 台不同的机器上运行身份提供者 (IdP) 和服务提供者 (SP)。当 IdP 应该将经过身份验证的请求重定向回 SP 的网站时,我在最后一步遇到问题,而是返回 HTTP 200 Ok,让我留在 IdP 网站上。用例:当我在浏览器 (IE8) 中请求 SP 页面时,它会按预期将我重定向到 IdP。它显示了我输入我的 Windows 帐户凭据的弹出窗口。但是,它没有让我回到 SP 网页,而是向我显示 //adfsserver/adfs/ls 文件夹的内容。

根据 Fiddler,这是 http 身份验证请求/响应的样子:

GET https://adfsserver/adfs/ls/?wa=wsignin1.0&wtrealm=https%3a%2f%2fymichurin%2fClaimsAwareWebAppWithManagedSTS%2f&wctx=rm%3d0%26id%3dpassive%26ru%3d%252fClaimsAwareWebAppWithManagedSTS%252fdefault.aspx&wct=2011- 11-23T21%3a59%3a56Z HTTP/1.1 ...

HTTP/1.1 200 OK ... 这是 //adfsserver/adfs/ls 文件夹内容

知道有什么问题吗?

有没有人知道类似的 ADFS 指南,它显示了这些东西如何在不同的机器上工作,而不是在单个机器上?

谢谢

4

2 回答 2

0

它应该在两台服务器上完全相同。我已经做过很多次了。

本质上,在您的应用程序上运行 FedUtil。指向 ADFS 元数据(使用现有的 STS),然后配置应用程序。作为 ADFS 上的 RP(导入有关在线发布的 RP 的数据),然后配置一些声明。

从您的 RP 服务器,您可以浏览到 https://{your_federation_service_name}/federationmetadata/2007-06/federationmetadata.xml 吗?

从您的 ADFS 服务器,您可以浏览到您的 RP 应用程序。(使用https)?

在您的 RP web.config 中,检查 federatedAuthentication 部分是否指向 ADFS。

在 ADFS 中,双击您的 RP。检查标识符选项卡中的 url 是否正确。

从 ADFS 服务器的事件查看器中,查看“应用程序和服务日志”/AD FS 2.0 下是否有任何错误。

于 2011-11-23T23:51:40.920 回答
0

问题解决了。这是因为运行 Fiddler。

顺便说一句,我仍然无法在 FireFox 下运行它,只有 IE 可以正常工作。FireFox 要求提供显示弹出窗口的凭据,但在我输入正确的用户名/密码时不想对我进行身份验证。Kerboros 适用于 Firefox,我检查了它构建示例 asp.net Web 应用程序并将其放入同一个 Web 服务器 (IdP),但看起来 adfs\ls 目录的工作方式不同,它手动处理凭据,似乎有问题通过这种处理。注意 Firefox 仅在 Windows 版本中不工作,Firefox for iOS 工作正常。

于 2011-11-30T22:24:41.307 回答