C# 问:使用.NET客户端的信号器身份验证在本地工作,但不在服务器上工作
我在IIS中托管我的Signaler,我有一个驻留在同一网站上的.net客户端。我正在使用windows身份验证,因此凭据的设置方式如下:C# 问:使用.NET客户端的信号器身份验证在本地工作,但不在服务器上工作,c#,asp.net-mvc,authentication,signalr,credentials,C#,Asp.net Mvc,Authentication,Signalr,Credentials,我在IIS中托管我的Signaler,我有一个驻留在同一网站上的.net客户端。我正在使用windows身份验证,因此凭据的设置方式如下: hubConnection.Credentials = CredentialCache.DefaultCredentials; 当我在本地运行站点时,这一切都会起作用,但在服务器上部署时会出现401错误: SignalR: myhub.DoStuff failed to execute. Error: StatusCode: 401, ReasonPhra
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
}
我在browser developer工具中看到了上述错误,并且在运行此行时会发生此错误:
hubConnection.Start().Wait();
我非常确定凭据本身是正确的,因为当我在本地运行站点,并输入部署在服务器上的中心url,并为该服务器传递凭据时,我就能够启动hub连接
那么,是什么原因阻止了signer.Net客户端在服务器上进行身份验证,而不是在本地进行身份验证呢?现在我倾向于这样一种理论,即传递给signer.Net客户端的凭据没有足够的权限。基本上,每次我出现401错误时,我都会在服务器的事件查看器日志中看到一个新的审核失败条目,表示使用的凭据无法登录 有人知道该帐户需要授予哪些权利吗