【问题标题】:IIS, new site binding rejects Windows credentialsIIS,新站点绑定拒绝 Windows 凭据
【发布时间】:2021-02-19 09:22:27
【问题描述】:

我在 IIS 中有一个 Web 应用程序,它需要使用 Windows 身份验证对用户进行身份验证。这通常可以正常工作,但是当我尝试引入新的站点绑定时,身份验证停止工作。

应用程序当前在本地开发客户端上运行,但站点绑定基于具有与本地计算机名称匹配的“颁发给”名称的证书。在此站点下运行的需要 Windows 身份验证的应用程序运行良好。

*:8445 (https) - 绑定证书:devclientXXX.domain.com

出于各种原因,我们希望用所有开发客户端通用的别名替换该绑定,即dev-localhost。所以我得到了一个新证书并设置了一个新的绑定,所以我们有了这些:

*:8445 (https) - 绑定证书:devclientXXX.domain.com

*:443 (https) - 绑定证书:dev-localhost

新的站点绑定允许我通过匿名身份验证浏览可用资源。

但是,当尝试浏览 Windows 身份验证资源时,我的凭据被拒绝:在 Chrome 中,我反复提示我输入我的凭据而这些凭据没有被接受。

同时,使用原始绑定进行浏览就像以前一样,接受了我的 Windows 凭据,无需重新输入它们。

据我所知,这两个绑定仅在所选证书上有所不同。

有人对这个问题的原因有什么建议吗?

-S

【问题讨论】:

    标签: iis windows-authentication


    【解决方案1】:

    我优化了我的谷歌查询并发现了这个:

    https://serverfault.com/questions/722722/windows-auth-in-iis-does-not-work-when-browsing-to-the-website-on-the-server-run

    这提示我修改注册表添加以下内容:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
    
    (Multi-String Value) BackConnectionHostNames = dev-localhost
    

    这实际上解决了我的问题!

    编辑:这是一个 PowerShell sn-p 用于执行此操作。

    $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
    }
    

    【讨论】:

      猜你喜欢
      • 2016-10-30
      • 1970-01-01
      • 1970-01-01
      • 2010-09-18
      • 1970-01-01
      • 2021-04-30
      • 2020-02-19
      • 2012-04-14
      • 1970-01-01
      相关资源
      最近更新 更多