我有一個在IIS 6上運行的WCF服務,它使用NTLM進行集成身份驗證和模擬。Ntlm和NTLM之間的WCF有什麼區別,我該如何解決它?
的Web.Config
<system.web>
<identity impersonate="true"/>
<customErrors mode="Off"></customErrors>
</system.web>
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
...
</system.web>
...
<wsHttpBinding>
<binding name="wsHttpEndpointBinding">
<security mode="Transport">
<transport clientCredentialType="Ntlm" />
</security>
</binding>
</wsHttpBinding>
的相關部分我剛添加的aspNetCompatibility,因爲我想知道用戶是誰(至少就IIS關注)這是記錄。從我已經完成的少量搜索中獲得用戶。
好,添加該行並出版我的服務器後,我得到了什麼是可能是我見過的最愚蠢的錯誤:
The HTTP request is unauthorized with client authentication scheme 'Ntlm'. The authentication header received from the server was 'NTLM'.
我想,「嗯,顯然他們正在做一個非常區分大小寫的比較。 「所以我搜索了我的整個客戶端解決方案中的Ntlm,並用NTLM替換了所有非變量事件。沒有運氣。
我的主要目標當然是讓用戶通過IIS + NTLM進行身份驗證。如果我以錯誤的方式去解決問題,我很樂意知道更簡單/更好的方法。否則,我該如何告訴我的客戶(或我的服務器)可以繼續進行身份驗證?
所以你的傳輸是現在clientCredentialType =「NTLM」,你更新了你的客戶端的配置文件? – Josh 2011-12-23 18:14:13
你的解決方案是什麼? – 2012-04-25 20:20:09