服务器是 Azure 上 VM 实例上的 Windows Server 2012 R2。环境中没有 DC,相关帐户是本地管理员。
当我远程访问该盒子时,我成功使用了本地管理员帐户和 RDP。我在同一个盒子上还有一个使用 Windows 身份验证的 Web 应用程序。当我从外部机器访问 Web 应用程序并使用此帐户进行身份验证时 - 一切正常。
但是,当我在本地机器上访问 Web 应用程序并输入质询时的凭据时,它被拒绝 - 3 次警告和 401。
我可以在事件查看器中看到审核失败没有显示帐户 ID:
Account For Which Logon Failed:
Security ID: NULL SID
Account Name: ***
Account Domain: ***
任何帮助都值得感激,即使是为了获取有关错误的更多数据。
答案1
出现此问题的原因是我们的安全令牌服务网站(SAML 身份验证)使用集成身份验证,并且具有映射到本地环回地址的名称。因此,如果您使用的 FQDN 或自定义主机标头与本地计算机名称不匹配,则身份验证会失败。解决方案:
- 将 DisableStrictNameChecking 注册表项设置为 1。
- 在注册表编辑器中,找到并单击以下注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
- 右键单击“MSV1_0”,指向“新建”,然后单击“多字符串值”。
- 键入 BackConnectionHostNames,然后按 ENTER。
- 右键单击“BackConnectionHostNames”,然后单击“修改”。
- 在“数值数据”框中,键入本地计算机上的站点的主机名或主机名,然后单击“确定”。
- 重新启动 IISAdmin 服务