Iis HTTP请求未经客户端身份验证方案';谈判';

Iis HTTP请求未经客户端身份验证方案';谈判';,iis,wcf-security,ntlm,negotiate,Iis,Wcf Security,Ntlm,Negotiate,我已经花了很多时间试图找出问题所在。从桌面控制台应用程序使用WCF服务时,我遇到此错误。当使用silverlight客户端从浏览器访问时,该服务工作正常 错误消息: System.ServiceModel.Security.MessageSecurityException:HTTP请求未经客户端身份验证方案“协商”授权。从服务器接收的身份验证标头为“协商,NTLM” 我不明白为什么即使客户端和服务器都有相同的身份验证方案“协商”,它也不起作用。我得到了HTTP 401 我验证了客户端和服务器配置

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

错误消息:

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

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

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

IIS7网站使用提供程序“协商,NTLM”配置Windows身份验证


那么,这个错误消息是什么意思(

我已通过设置客户端安全性解决了WCF问题。

client.ClientCredentials.Windows.ClientCredential=System.Net.CredentialCache.DefaultNetworkCredentials;
client.ClientCredentials.Windows.AllowedImpersonationLevel=System.Security.Principal.TokenImpersonationLevel.Impersonation;

我已通过设置客户端安全性解决了WCF问题。

client.ClientCredentials.Windows.ClientCredential=System.Net.CredentialCache.DefaultNetworkCredentials;
client.ClientCredentials.Windows.AllowedImpersonationLevel=System.Security.Principal.TokenImpersonationLevel.Impersonation;

该错误表示您的控制台应用程序正在以匿名用户身份访问WCF服务,但该服务已配置为仅允许Windows身份验证。您是否可以添加WCF服务配置(web.config/app.config文件中的system.serviceModel元素或动态配置时的代码)以及您的console app.config文件。该错误表示您的console应用程序正在以匿名用户身份访问WCF服务,但该服务已配置为仅允许Windows身份验证。是否可以添加WCF服务配置(web.config/app.config文件中的system.serviceModel元素,或者动态配置时的代码)和控制台app.config文件,以解决您的问题。