【问题标题】:Asp.Net Core SignalR with Windows Authentication (401)带有 Windows 身份验证的 Asp.Net Core SignalR (401)
【发布时间】:2021-06-18 16:15:12
【问题描述】:

我只是想让 SignalR 在 IIS 上与 Asp.Net Core 一起工作。它在本地运行良好(当然),但部署后我得到:

HttpRequestException:响应状态码不表示成功: 401(未经授权)。

这种情况发生在

await hub.StartAsync();

在我的 IIS 中被调用:

这是一个 Intranet 站点,这是必需的。

I am currently initializing the Hubs like this:Hub = new HubConnectionBuilder()
    .WithUrl(navMan.ToAbsoluteUri(hubPath), options =>
    {
        options.Transports = Microsoft.AspNetCore.Http.Connections.HttpTransportType.WebSockets;
        options.UseDefaultCredentials = true;
    })
    .WithAutomaticReconnect()
    .Build();

在这一点上,我已经改变了周围的一切,我不知道哪条路是向上的。我想我的问题是:如何让它在 Asp.Net Core 环境中工作?它可以工作吗?您还需要我解决什么问题?谢谢。

编辑:看起来是一个已知问题:https://github.com/dotnet/aspnetcore/issues/25000

【问题讨论】:

  • 请检查问题是否与此github问题相同:github.com/dotnet/aspnetcore/issues/6120
  • 类似,但这种解释到处都是,并不清楚它实际上是如何解决的。
  • 我已经完成了这些文件中所说的,但没有用。

标签: asp.net-core iis signalr asp.net-core-5.0


【解决方案1】:

在使用 Windows 身份验证构建 Blazor Server 聊天应用程序时也遇到了此异常。谷歌了一下发现这个Authentication and authorization in ASP.NET Core SignalR - Windows authentication

我添加了 NameUserIdProvider 类,将其添加到 Startup.cs 并且没有更多问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-31
    • 2011-06-08
    • 2019-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多