首页 文章

401.2无效的身份验证标头 - 由Fiddler修复

提问于
浏览
1

我有一个Web Api 2服务和一个javascript网站 . 两者都托管在内部客户端的内部IIS服务器上 . 我需要能够通过Windows身份验证将Windows用户从站点获得服务 .

当我浏览Chrome中的服务元数据操作时(例如:http://theServer.domain.net/myController/metadata),我得到了正确的结果以及用户信息 .

但是当我尝试在我的应用程序中加载该数据时,我收到以下错误:

401.2由于身份验证标头无效,您无权查看此页面 .

但是,这只会在Chrome中失败 . IE 11加载它很好 .

这是我尝试/设置的内容:

  • 最常见的解决方法是确保为IIS启用了Windows身份验证 . 我已经仔细检查过这个问题 . 我的IIS网站都有Windows身份验证模块 .

  • 我正在运行应用程序池(一个用于服务,一个用于站点)作为应用程序池标识安全性 . 我确保应用程序池可以访问磁盘上的文件 . (只是为了确定,我甚至尝试过将它们设置为以我身份运行 . )

  • 我还在web.config中使用 <authentication mode="Windows" /> 设置了我的网站 .

  • 我的网站设置了Windows和匿名身份验证 . 我的服务仅针对Windows身份验证进行设置 .

  • 在服务器和网站上都设置了Windows身份验证,以便唯一的提供程序是NTLM .

  • 在我打开的两个应用程序池上启用了32位应用程序 .

由于这一切都没有起作用,我试图启动Fiddler以查看我是否可以查看 Headers 并在较低级别进行调试 . But once Fiddler was running, the problem went away! 错误消失了,服务器验证正确!但是,它只适用于小提琴手正在运行时 . (我试过阅读Help! Running Fiddler fixes my App,但我看不到任何有用的东西 . )

So, my question is, what do I need to do to get this working with Windows Authentication? (我需要用户信息 . )

1 回答

  • 1

    仅在IE中支持来自浏览器的Windows身份验证 .

    来自:https://technet.microsoft.com/en-us/library/cc754628(v=ws.10).aspx

    Windows身份验证(包括NTLM和Kerberos v5身份验证)最适合Intranet环境,原因如下:客户端计算机和Web服务器位于同一个域中 . 管理员可以确保每个客户端浏览器都是Internet Explorer 2.0或更高版本 . 不需要NTLM不支持的HTTP代理连接 . Kerberos v5需要连接到Active Directory,这在Internet环境中是不可行的 .

    关于提琴手 - 你有'Automatically Authenticate'选项打开? https://stackoverflow.com/a/34851503/1165140

相关问题