我們有一個採用「用戶名:密碼」授權標頭的WCF Web服務。此服務在我的開發Windows 7計算機和生產中的Windows Server 2003計算機上正常工作。在IIS 7上調用WCF Web服務時缺少授權標頭
但是,我們的開發和新的生產服務器是Windows Server 2008,並且該服務無法接收授權標頭。
您可以看到下面來自Fiddler的原始請求包含Authorization標頭。
POST http://servername/service.svc/soap HTTP/1.1
內容類型:文本/ XML;字符集= UTF-8
授權:測試:測試
VsDebuggerCausalityData:uIDPozpQ7mbpOVRFu79Tl0h3mkIAAAAAJMavDzJlIkqyjJDSIIxdVuKNB0y6n29OvukFtyRt0wwACQAA
的SOAPAction: 「......」
主持人:服務器
的Content-Length:152
期望:100繼續
接受-Encoding:gzip,deflate
連接:Keep-Alive
我沒有成功啓用IIS高級日誌記錄來查看是否可以在服務器上獲得任何額外的信息。
IIS網站配置爲匿名身份驗證。
的服務實現IAuthorizationPolicy和評估方法肯定是被調用,這是授權信息丟失在哪裏。
感覺就像我在IIS中配置了錯誤的東西,但我不知道是什麼!任何幫助將非常感激。
從Windows Server 2003切換到2008時,您是否也從IIS 6切換到了7?如果是這樣,我懷疑這與IIS版本有很多關係,而不是Windows Server版本。你可以考慮相應地改變你的問題的標題。 – Aaron
好點。我之前的同事也告訴我,他的服務原來是在Windows Server 2008服務器上開發的。這隻會讓這更令人沮喪。 – RichardM
確保IIS服務器處理基本授權,我認爲它默認是禁用的。 –