我有一個WCF數據服務,並在web.config我已經使用WCF數據服務的Windows身份驗證問題
<authentication mode="Windows" />
我試圖避免任何綁定配置,所以在這一點上沒有用過。
我正在從WPF應用程序訪問服務。
IIS僅配置爲「Windows身份驗證」。
當我訪問該服務,我設置憑據
_proxy.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
但我得到一個錯誤「401 - 未經授權:訪問由於憑據無效被拒絕。」
如果我將其更改爲以下,服務工作正常:
_proxy.Credentials = new NetworkCredential("username", "$password", "Domain");
當小提琴手跟蹤這一點,我注意到,當我使用DefaultNetworkCredentials的NTLM身份驗證頭是
域:
主持人:PC-59
當使用成功的新的NetworkCredential( 「用戶名」, 「$密碼」, 「MYDOMAIN」)中,auth頭是
域:MYDOMAIN
用戶:用戶名
主持人:PC-59
PS。爲了記錄在案,這裏是我的服務配置:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true" />
你能顯示WCF服務的服務器配置。 – 2011-05-10 01:28:03
雖然我接受我可能不得不使用配置來解決這個問題,但我試圖使用「零配置體驗」。爲了以防萬一,我已將它添加到問題中。 – user381624 2011-05-10 01:54:57