2017-04-20 63 views
2

我在IIS中託管我的signalR,並且擁有駐留在同一網站中的.NET客戶端。我使用Windows身份驗證,因此憑據設置是這樣的:問:使用.NET客戶端的SignalR身份驗證在本地工作,但不在服務器上

hubConnection.Credentials = CredentialCache.DefaultCredentials; 

這所有的工作,當我在本地運行的網站,但在服務器上部署時,它會給我一個401錯誤:

SignalR: myhub.DoStuff failed to execute. Error: StatusCode: 401, ReasonPhrase: 'Unauthorized', Version: 1.1, Content: System.Net.Http.StreamContent, Headers: 
{ 
    Server: Microsoft-IIS/8.5 
    WWW-Authenticate: Negotiate 
    WWW-Authenticate: NTLM 
    X-Powered-By: ASP.NET 
    Date: Thu, 20 Apr 2017 19:40:41 GMT 
    Content-Length: 1293 
    Content-Type: text/html 
} 

我看到上面的錯誤在瀏覽器開發者工具,當這條線時,它會發生什麼:

hubConnection.Start().Wait(); 

我敢肯定憑證本身是正確的,因爲當我在本地運行的網站,並把在在服務器上部署的集線器URL,並傳入該服務器的憑證,我可以啓動hubConnection。

那麼,什麼可能會阻止SignalR .Net客戶端在服務器上進行身份驗證,但不能在本地進行身份驗證?

回答

0

現在我傾向於認爲傳遞給SignalR的.NET客戶端的憑證沒有足夠的權限。基本上,每次遇到401錯誤時,我都會在服務器的事件查看器日誌中看到一條新的審覈失敗條目彈出,表示所使用的憑據無法登錄。

有誰知道需要授予該帳戶的權利?

相關問題