我使用 Active Directory 和 ADFS 2.0 设置了一个测试 Server 2008 框。我有一个 ASP.NET 应用程序,它使用 WIF 来联合身份。 ADFS 配置为使用 Active Directory 获取身份信息。我使用 WIF 将客户端应用程序配置为使用 ADFS 端点。
当我尝试以用户身份从浏览器加载 ASP.NET 应用程序时,我被重定向到 ADFS 端点并提示输入凭据。我尝试使用多个用户帐户登录,甚至重置密码,但凭据似乎永远不正确,并返回 401 Unauthorized。我可以使用相同的凭据成功登录到其他系统。
我在详细模式下启用了调试跟踪并在详细模式下启用了审计,但我找不到任何错误或信息来帮助我找出问题。
如何获得更多信息以缩小问题范围?
更新:
我发现这个问题是由我的测试环境引起的。我的开发机器在我们的公司域 (acme.com) 上。我为测试域 Controller (notacme.com) 和 Web 服务器创建了两个 2008R2 VM。
如果我尝试从 acme.com 域上的计算机访问该网站,则会发生上述错误。如果我尝试从 notacme.com 域上的计算机访问该网站,则它可以工作。
如何从 acme.com 域中的计算机访问该网站?
最佳答案
显然,这是由 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
关于active-directory - ADFS 2.0 - 如何调试 "401 - Unauthorized",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6699524/