如何解决IIS,新站点绑定拒绝 Windows 凭据
我在 IIS 中有一个需要使用 Windows 身份验证对用户进行身份验证的 Web 应用程序。这通常工作正常,但当我尝试引入新的站点绑定时,身份验证停止工作。
应用程序当前在本地开发客户端上运行,但站点绑定基于具有与本地计算机名称匹配的“颁发给”名称的证书。在此站点下运行的需要 Windows 身份验证的应用程序运行良好。
*:8445 (https) - 绑定证书:devclientXXX.domain.com
出于各种原因,我们希望用所有开发客户端通用的别名替换该绑定,即 dev-localhost
。所以我得到了一个新证书并设置了一个新的绑定,所以我们有这些:
*:8445 (https) - 绑定证书:devclientXXX.domain.com
*:443 (https) - 绑定证书:dev-localhost
新的站点绑定允许我浏览匿名身份验证可用的资源。
但是,在尝试浏览 Windows 身份验证资源时,我的凭据被拒绝:在 Chrome 中,我反复提示输入我的凭据,但这些凭据未被接受。
与此同时,使用原始绑定进行浏览时,我的 Windows 凭据已被接受,而无需任何重新输入它们的提示。
据我所知,这两种绑定仅在所选证书上有所不同。
有人对此问题的可能原因有什么建议吗?
-S
解决方法
我改进了我的谷歌查询并发现了这个:
这提示我修改注册表以添加以下内容:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
(Multi-String Value) BackConnectionHostNames = dev-localhost
这实际上解决了我的问题!
编辑:这是用于执行此操作的 PowerShell 片段。
$hostName = "dev-localhost"
$value = (Get-ItemProperty "HKLM:\System\CurrentControlSet\Control\Lsa\MSV1_0").BackConnectionHostNames
if (-not($value | ? { $_ -eq $hostName }))
{
$value += $hostName
$item = New-ItemProperty "HKLM:\System\CurrentControlSet\Control\Lsa\MSV1_0" -Name "BackConnectionHostNames" -Value $value -PropertyType MultiString -Force
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。