5

我用 Active Directory 和 ADFS 2.0 设置了一个测试服务器 2008 框。我有一个使用 WIF 来联合身份的 ASP.NET 应用程序。ADFS 配置为使用 Active Directory 获取身份信息。我使用 WIF 将客户端应用程序配置为使用 ADFS 端点。

当我尝试以用户身份从浏览器加载 ASP.NET 应用程序时,我被重定向到 ADFS 端点并提示输入凭据。我尝试使用多个用户帐户登录,甚至重置密码,但凭据似乎永远不会正确,并返回 401 Unauthorized。我可以使用相同的凭据成功登录其他系统。

我已在详细模式下启用调试跟踪并在详细模式下启用审核,但我找不到任何错误或信息来帮助我找出问题所在。

如何获取更多信息以缩小问题范围?

更新:

我发现这个问题是由我的测试环境引起的。我的开发机器位于我们的公司域 (acme.com) 上。我为测试域控制器 (notacme.com) 和 Web 服务器创建了两个 2008R2 虚拟机。

如果我尝试从 acme.com 域上的计算机访问该网站,则会出现上述错误。如果我尝试从 notacme.com 域上的计算机访问该网站,它可以工作。

如何从 acme.com 域上的计算机访问该网站?

4

2 回答 2

5

显然,这是由 ADFS 内置的扩展保护功能引起的。在尝试解决此问题时,我让 Fiddler 运行以跟踪请求/响应,但有一次我发誓我也将其关闭以进行测试,但它仍然无法正常工作。显然我没有完全删除 Fiddler 代理,因为在 IE 重新启动并且 Fiddler 未运行后,它在 IE 中工作,但发现它在 Firefox 或 Chrome 中仍然无法工作。这让我看到了一篇 TechNet 文章,该文章描述了我在使用 Fiddler 时所看到的行为。

http://social.technet.microsoft.com/wiki/contents/articles/ad-fs-2-0-continuously-prompted-for-credentials-while-using-fiddler-web-debugger.aspx

于 2011-10-12T12:57:15.390 回答
0

根据我的经验,IIS(包括 AD FS)中的每个登录失败都会作为“审核失败”事件记录在“安全”事件日志中,其中包含更多详细信息。所以我会在 AD FS 系统上的事件查看器中进行搜索,看看这些事件有什么要说的。同样在事件查看器中,检查“应用程序和服务日志”->“AD FS 2.0”-> 管理事件日志。

看起来您确实尝试过查看 HTTP 流量,例如,使用 Fiddler。那挺好的。我认为不使用 Fiddler 时也会出现问题?

(是不是你输入了正确的用户名和密码后,出现了重复登录的问题?那么看看下面的答案:ADFS authentication - IE8 works, Chrome failed。)

(我还看到初始身份验证成功的情况,导致“审核成功”事件,然后是后来重定向导致的 401。在这种情况下,AD FS 系统上的事件日志也有帮助。)

于 2011-07-25T05:26:36.927 回答