HTTP请求未经授权使用客户端身份验证方案“Negotiate”

时间:2012-03-08 17:36:03

标签: iis wcf-security ntlm negotiate

我已经花了很多时间试图找出问题所在。从桌面控制台应用程序使用WCF服务时出现此错误。从具有silverlight客户端的浏览器访问时,该服务正常工作。

错误讯息:

  

System.ServiceModel.Security.MessageSecurityException:HTTP请求未经授权,客户端身份验证方案为“Negotiate”。从服务器收到的身份验证标头是“Negotiate,NTLM”。

即使客户端和服务器都具有相同的身份验证方案“Negotiate”,我也不明白为什么它不起作用。我正在获得HTTP 401。

我验证了客户端和服务器配置是否正确,因为它可以在使用相同客户端配置的silverlight客户端中运行。

IIS7网站使用提供商的Negotiate,NTLM'配置了Windows身份验证。

那么,这个错误信息是什么意思? :(

1 个答案:

答案 0 :(得分:0)

我通过设置客户端安全性修复了我的WCF问题 client.ClientCredentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials;
client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;