C# 域问题上具有.net核心身份验证的信号器

C# 域问题上具有.net核心身份验证的信号器,c#,asp.net,iis,signalr,core,C#,Asp.net,Iis,Signalr,Core,首先,我对信号员知之甚少。我在努力学习,大部分时间都在胡闹 在.NETCore3.1上运行 我有两台机器。 PC1是我的开发桌面,带有Win10 Pro和IIS,位于我们的域中。 PC2正在使用域上的Win10虚拟机运行Ubuntu(不在域上) 我已经从信号器入门中创建了聊天应用程序: 如果我把它放在IIS的PC1上,一切正常。信号器连接已经建立,我可以从PC1、PC2 Ubuntu、PC2 Win10 VM甚至我的手机发送消息。在没有身份验证的情况下,网络上的任何设备都可以连接到集线器 如果

首先,我对信号员知之甚少。我在努力学习,大部分时间都在胡闹

在.NETCore3.1上运行

我有两台机器。 PC1是我的开发桌面,带有Win10 Pro和IIS,位于我们的域中。 PC2正在使用域上的Win10虚拟机运行Ubuntu(不在域上)

我已经从信号器入门中创建了聊天应用程序:

如果我把它放在IIS的PC1上,一切正常。信号器连接已经建立,我可以从PC1、PC2 Ubuntu、PC2 Win10 VM甚至我的手机发送消息。在没有身份验证的情况下,网络上的任何设备都可以连接到集线器

如果我添加Cookie身份验证,加载站点将重定向到登录页面,登录将成功,用户将重定向回主索引页面

但是,只有属于域的机器才能在登录后建立信号机连接。这意味着PC1可以登录并建立信号机连接并发送消息

PC2 ubuntu可以登录,但在尝试建立信号器连接时会出现未经授权的错误

PC2 ubuntu/Win10 VM(位于域上)可以登录,但在尝试建立信号器连接时会出现未经授权的错误

使用我的手机,我得到同样的未经授权的错误

如果作为域的一部分的工作学院在其机器上加载站点,则他可以登录并建立工作信号器连接

当身份验证处于活动状态时,不属于域的任何设备都无法建立工作信号器连接

登录后尝试建立与集线器的连接时,任何不属于域的设备都会收到未经授权的401错误

作为域一部分的任何设备都可以登录并建立正常工作的信号器连接,而不会出现错误

代码似乎运行良好。我想这是IIS的问题。我的IIS设置基于以下内容:

就代码而言,这一切似乎都可以正常工作和运行,但当身份验证处于活动状态时,不属于域的设备无法建立信号器连接

如果没有身份验证,网络上的任何设备都可以连接到集线器

再说一遍,这只是我在胡闹,试图学习我能做什么,不能做什么,应该做什么,不应该做什么。是的,我用谷歌搜索了很多次

我的启动代码:

登录代码:

集线器代码:


我让它工作了。。。发布此消息,以防它可能会帮助其他人,并让他们在很多天内一事无成:)

事实证明Windows域不起作用。如果我在应用程序中激活了授权,则网络上的任何设备/机器都无法通过网络建立信号机连接。只有运行IIS的计算机才能打开应用程序、登录、建立信号机连接并按预期工作

昨天我碰巧看了一个关于在Win10中将.net核心应用程序发布到IIS的视频,这家伙在IIS下创建了一个新站点,而不是在IIS安装附带的默认站点下创建新应用程序。

决定试一试,确信该应用程序在IIS的新站点下托管时开始工作。

我不知道默认站点上是否存在安装问题。。。我是唯一一个使用此IIS安装的人,我知道我没有更改任何默认网站设置。win10的安装时间也只有6个月左右


我想在Win10笔记本电脑上重新安装IIS进行测试,看看是否会出现同样的问题。。。我对此表示怀疑,但无论如何可能值得检查。

请不要发布代码的截图。()我这样做是因为我无法让代码标签工作。我添加的代码中只有一半会出现在代码标记中,而其余的则不会。如果我发布了这样的问题,人们会对此抱怨……我总是建议使用3个反勾(``````)来设置代码格式。我向您保证,通过这种方式,您将能够正确格式化所有代码。另外,我希望我没有给人留下粗鲁的印象。这只是一个改进的提示。@RobinB我理解。这是我第一次挣扎。10分钟后,我放弃了,取而代之的是被剪断的工具。