0

我有一个调用 wcf 服务的应用程序,该应用程序使用 Windows 身份验证并禁用匿名访问。我仍然在访问服务时遇到错误:

'HTTP 请求未使用客户端身份验证方案'协商'。从服务器收到的身份验证标头是“协商,NTLM”。' 奇怪的是它在 IE11 和 chrome (v83) 中运行良好,这个问题只出现在 Windows 10 1809 版本上。在下面附上我的 IIS 的屏幕截图。

谁能提出可能的问题?

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

0

尝试在 iis 中设置以下设置:

  • 打开iis,选择网站
  • 选择“配置编辑器”</li>
  • 选择“system.webServer/security/authentication/windowsAuthentication”</li>
  • 使用AppPoolCredential 为True

确保 WCF 和 .net 应用程序 URL 使用相同的协议。

将应用程序池用户设置为域帐户。

在客户端配置设置下面的代码:

<security mode="TransportCredentialOnly">
    <transport clientCredentialType="Windows" />
</security>

您可以参考以下链接了解更多详情:L

401 客户端“协商”,服务器“协商,NTLM”在调用 WCF 服务器到服务器时

于 2020-06-18T02:56:44.680 回答