我有一个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 回答
仅在IE中支持来自浏览器的Windows身份验证 .
来自:https://technet.microsoft.com/en-us/library/cc754628(v=ws.10).aspx
关于提琴手 - 你有'Automatically Authenticate'选项打开? https://stackoverflow.com/a/34851503/1165140