我在Windows 2016上使用IIS 10。
我已经成功地将IIS配置为在访问站点时使用Windows身份验证。当使用服务器的IP地址或主机名时,这种方法工作得很好。
但是,我将在同一服务器上托管几个站点,因此我尝试配置一些DNS记录以指向服务器的IP (A records),并通过在IIS绑定中为该站点定义主机名,在浏览器中使用该名称时,我成功地连接到了正确的站点。

但出于某种原因,这破坏了Windows身份验证。当将用户名和密码放入浏览器登录框时,它只是无法对进行身份验证。

我读了这个答案,但它没有提供一个解决方案(IIS Windows身份验证的奇异性)
我试着用不同的方式编写用户名:
username
domain\username
domain.local\username但没什么区别。
我看过此页,但它似乎不适用。
有人知道怎么做吗?
发布于 2018-02-08 07:34:31
Windows身份验证在这里中断,因为您现在正在使用自定义主机名访问应用程序,并且没有SPN的设置。您能够更早地成功地访问应用程序,因为您直接使用servername访问它。此外,请注意,当您通过IP地址访问应用程序时,您通过NTLM而不是kerberos建立连接。
要解决问题,只需配置SPN即可。输入以下命令。
setspn -a http/hostname服务器名
有关更多信息,请参阅本文。
发布于 2018-01-11 12:11:03
尝试关闭IIS元数据库中的反向DNS检查。封面下的Windows身份验证默认为Kerberos,Kerberos可能对主机名进行反向DNS检查。在使用主机头的情况下,检查将失败。为此,请执行以下操作:
参考:如何:为IIS启用反向DNS查找
发布于 2018-03-30 03:18:20
您需要将应用程序池运行的内容更改为。去找那个给你带来麻烦的高级设置。查找标记为identity的部分,并尝试将域管理帐户添加到该框中。一旦出现这种情况,回收应用程序池并重新启动您的网站。如果它允许您进行身份验证,则需要修复该网站的SPN。如果这是修复它的路线,我会带你过去的
https://stackoverflow.com/questions/48183054
复制相似问题