私はIISで私のsignalRをホスティングしていますが、私は同じWebサイトにある.netクライアントを持っています。資格情報がこのように設定されているので、私は、Windows認証を使用しています:Q:.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クライアントがサーバー上で認証されるのを妨げるものがありますが、ローカルではありません。