我正在为我的公司建立一个简单的内部应用程序,它需要Windows身份验证才能进行安全。所有其他身份验证模式都被禁用。我被困在互联网浏览器提示凭据3次的情况下,然后失败与此错误:
Not Authorized
HTTP Error 401. The requested resource requires user authentication.
然后,我创建了一个裸机网站来测试这个。我在IIS中创建了一个新站点,将其放在自己的端口(:8111,随机选择),在其中放置一个静态“default.htm”文件,禁用匿名身份验证,然后启用Windows身份验证。一切都留在默认设置。端口号被分配,因为我们在这台机器上有多个站点共享相同的IP。
以下是一些场景:
>从web服务器本身浏览到http:// localhost:8111 / works
精细
>从另一台电脑浏览到http:// ServerIPaddress:8111 /
工作正常
>从另一台计算机浏览到http:// ServerName:8111 / FAILS
(要求凭证3次,然后给出401错误)
在与这个问题战斗2天之后,在同事的帮助下制定了解决方案。这是他写的:
原文链接:/windows/373027.htmlThere are 2 providers for Windows Authentication (Negotiate and NTLM). When setting the Website Authentication to Windows Authentication,while Windows Authentication is highlighted,click on the Providers link on the right pane or IIS Manager and move NTLM to the top. By default Negotiate is on top which is why you are getting an authentication prompt.