我有一个在 IIS 上运行的网站,使用 Windows 身份验证。
在网站级别,在“身份验证”下,我仅Windows Authentication
启用了(仅 NTLM 作为提供商)。
在虚拟目录级别,在“身份验证”下,我已ASP.NET Impersonation
启用Windows Authentication
(仅将 NTLM 作为提供程序)。(ASP.NET Authentication
在此处禁用不会改变任何内容)
- 运行 IIS 的服务器的 IP 地址是:172.0.0.10
- 运行 IIS 的服务器的计算机名称是:myiis服务器
- 运行 IIS 的服务器上的 FQDN 是:myiisserver.mydomain.com
- DNS“A 记录”指向 172.0.0.10:myapp.mydomain.com
在网站绑定上,我有:
Type | IP Address | Port | Host Name
--------------------------------------------------------------
http | All Unassigned | 80 | localhost
http | All Unassigned | 80 | myiisserver
http | All Unassigned | 80 | myiisserver.mydomain.com
http | All Unassigned | 80 | myapp.mydomain.com
这是我在 IIS 服务器上运行的唯一网站。
运行网站和虚拟目录的应用程序池是相同的,并使用“NetworkService”作为标识。
在 IIS 服务器和网络中的其他工作站上:
- myiisserver 已添加到“受信任的站点”
- myiisserver.mydomain.com 已添加到“受信任的站点”
- myapp.mydomain.com 已添加到“受信任的站点”
在受信任的站点区域,Automatic logon using current user name and password
在 IIS 服务器和其他工作站上进行选择。
在 Internet 选项 -> 高级上,Enable Integration Windows Authentication
在 IIS 服务器和其他工作站上启用。
在网络中的其他工作站上:
在 IIS 服务器上:
- http://本地主机工作正常
- http://myiis服务器工作正常
- http://myiisserver.mydomain.com工作正常
- http://myapp.mydomain.com有效 无效 - 提示输入用户名和密码 - 输入有权访问资源的用户名和密码无效,并且继续提示输入用户名和密码。有什么建议可以让它在 IIS 服务器上正常工作吗?
答案1
答案2
slayernoah 的解决方案非常有效,但我想补充一点,即使网站是通过互联网而不是内部网浏览,上述解决方案也能发挥作用。另外,除了
- 在 IIS 网站上启用 Windows 集成身份验证。
- 添加注册表项并将每个 Cname / Host 添加在单独的行上
这解决了这个问题并节省了大量时间