繁体   English   中英

客户端身份验证方案“ Ntlm”对HTTP请求进行了未经授权的操作。 从服务器收到的身份验证标头是“协商,NTLM”

[英]The HTTP request is unauthorized with client authentication scheme 'Ntlm'. The authentication header received from the server was 'Negotiate,NTLM'

我有一个从我的Web应用程序调用的WCF服务。 WCF服务调用在SSL端口443上进行。

当我的应用程序进行呼叫时,我在我的日志文件中收到以下错误消息:HTTP请求未经客户端身份验证方案'Ntlm'的授权。 从服务器收到的身份验证标头是“协商,NTLM”

我使用cscript命令检查了我的计算机(IIs 5.1)和部署了WCF服务的计算机(IIS 6.0)上的iis身份验证标头:

对于iis 5.1 adsutil,请设置w3svc / 1 / ntauthenticationproviders“ Negotiate,NTLM”

同样,已使用以下命令在服务器计算机IIS 6.0上设置了标头:adsutil set w3svc / 1 / root / ntauthenticationproviders“ Negotiate,NTLM”

我反复检查了标头,它们的两端都具有相同的“ Negotiate,NTLM”值,但是我的服务调用失败。

请帮助。

使用NTLM身份验证,在调用服务器上执行的用户必须可以在标头中的域内进行验证。 这意味着您的IIS 5.1计算机必须在域可行用户下运行其IIS实例(应用程序池)。 由于应用程序池几乎都是通过本地系统,网络服务或AppPoolService(或类似系统帐户)的名称普遍可用的,而这些名称在域中可用,因此您将需要配置执行调用的IIS实例以由服务运行在域中具有适当权限的帐户。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM