c# - Q : SignalR authentication with . NET 客户端在本地工作但在服务器上不工作

标签 c# asp.net-mvc authentication signalr credentials

我在 IIS 中托管我的 signalR,并且我有一个驻留在同一网站中的 .net 客户端。我正在使用 Windows 身份验证,因此以这种方式设置凭据:

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 客户端在服务器上而不是在本地进行身份验证?

最佳答案

现在我倾向于这样一种理论,即传递给 SignalR 的 .NET 客户端的凭据没有足够的权限。基本上每次我收到 401 错误时,我都会在服务器的事件查看器日志中看到一个新的审核失败条目弹出,表明所使用的凭据无法登录。

有谁知道需要给账号赋予什么权限吗?

关于c# - Q : SignalR authentication with . NET 客户端在本地工作但在服务器上不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43529109/

相关文章:

c# - Winforms (.NET Core 3) 是否支持所有 .NET Framework 控件

javascript - 在 C# Web 浏览器中使 javascript 变量全局作用域

javascript - 匿名访问如何跟踪?智威汤逊/ cookies / session ?

c# - 为近似相似的数字生成相同的哈希码

c# - Linq to SQL .Sum() 没有组...进入

asp.net-mvc - ASP.NET MVC : How to handle model data that must go to every view?

c# - 使用 Server.MapPath() 时如何从虚拟路径中排除 Controller 名称?

c# - 无法设置为 'System.Decimal' 值。您必须将此属性设置为类型为 'System.Double' 的非空值

authentication - AAD 注册了 Azure Functions + GraphAP Delegated + SharePoint Online?

authentication - JWT 为什么我们需要承载字?