2011-10-13 33 views
0

我有一個與WCF服務通信的Web應用程序客戶端。由於需要寫入NAS上的類似位置以編寫日誌和工作文件,因此客戶端和服務都正在運行模擬。問題是,雖然客戶可以寫得很好,但服務不能。兩者都使用System.IO.FileStream來寫入NAS。我們最初認爲這可能是由於爲域用戶啓用了不正確傳遞的憑據而啓用了委派。我們仍然收到同樣的錯誤。如果我檢查ServiceSecurityContext.Current.WindowsIdentity,我可以看到它是我期望的域用戶,但奇怪的是IIdentity.AuthenticationType的值是「Kerberos」。使用this文章,我們檢查了我們的IIS NTAuthenticationProviders並驗證它設置爲「Negotiate,NTLM」。我意識到這個IIS設置是爲了IIS和NAS之間的通信,但我們想確定。
我們也執行了跟蹤,可以看到有問題的服務器和NAS位置之間的協商。發送請求後,我們確實看到它嘗試聯繫域控制器,但由於未配置它,因此認證失敗。
最後,我只是想知道是否有一個配置指令可以設置,以防止它在寫入NAS時嘗試使用Kerberos身份驗證,其次,爲什麼服務在使用Kerberos時客戶端不是。 我會很樂意編輯這個,並添加任何進一步的配置項目,請讓我知道。通過WCF服務訪問NAS時出現「未知用戶名或密碼錯誤」

WCF服務的web.config結合部分

<bindings> 
     <wsHttpBinding> 
      <binding name="default" maxReceivedMessageSize="200000"> 
       <security mode="Message"> 
        <message clientCredentialType="Windows" negotiateServiceCredential="true" /> 
       </security> 
      </binding> 
     </wsHttpBinding> 
    </bindings> 

感謝您的幫助!

回答

相關問題