2012-03-08 87 views
2

我已經花了很多時間來弄清楚問題所在。從桌面控制檯應用程序使用WCF服務時出現此錯誤。使用Silverlight客戶端從瀏覽器訪問時,服務工作正常。HTTP請求未經授權,客戶端身份驗證方案'協商'

錯誤消息:

System.ServiceModel.Security.MessageSecurityException:HTTP請求是未經授權的客戶端身份驗證方案協商'。從服務器收到的驗證頭是'Negotiate,NTLM'。

我不明白爲什麼它不起作用,即使客戶端和服務器都有相同的認證方案「協商」。我得到HTTP 401.

我驗證的客戶端和服務器配置是正確的,因爲它在使用相同客戶端配置的Silverlight客戶端中工作。

使用提供商的協商,NTLM配置IIS7網站的Windows身份驗證。

那麼,這個錯誤信息是什麼意思? :(

+0

的錯誤是暗示你的控制檯應用程序訪問WCF服務作爲匿名用戶,但該服務被配置爲只允許Windows身份驗證。你可以添加WCF服務配置(web.config/app.config文件中的system.serviceModel元素,或者動態配置時的代碼)以及你的問題的控制檯app.config文件。 – 2012-03-08 18:01:19

回答

0

我已經通過設置客戶端安全固定我的WCF問題。
client.ClientCredentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials;
client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;

相關問題