Signalr Windows身份验证信号器集线器中Authorize属性的意外行为
我有一个非常奇怪的信号问题,我不知道该怎么办 我在VB.NET中的tutorial()中创建了一个简单的signar应用程序,唯一的改变是我在Hub类中添加了Signalr Windows身份验证信号器集线器中Authorize属性的意外行为,signalr,authorize-attribute,Signalr,Authorize Attribute,我有一个非常奇怪的信号问题,我不知道该怎么办 我在VB.NET中的tutorial()中创建了一个简单的signar应用程序,唯一的改变是我在Hub类中添加了属性,并使Send message方法从上下文中获取用户名 我们有开发服务器(Windows server 2008 R2、IIS7、.NET 4.5.1.)。 在开发服务器的IIS和应用程序设置中,我启用了Windows身份验证和ASP.NET模拟。应用程序的工作原理与预期一样 现在,当我将这个简单的应用程序部署到我们的生产服务器时,这个
属性,并使Send message方法从上下文中获取用户名
我们有开发服务器(Windows server 2008 R2、IIS7、.NET 4.5.1.)。
在开发服务器的IIS和应用程序设置中,我启用了Windows身份验证和ASP.NET模拟。应用程序的工作原理与预期一样
现在,当我将这个简单的应用程序部署到我们的生产服务器时,这个应用程序根本无法工作。OS和.NET版本是相同的,我要求我们的管理员以与开发中完全相同的方式配置IIS和应用程序设置。
当我在Chrome中打开index.html时,我在JS控制台中看到ERR_INVALID_AUTH_凭证,FF Firebug给出401个未经授权的错误。当然,hub方法不起作用
如果我从Hub中删除
属性并重新编译应用程序,它在dev和prod中都可以工作,但在本例中,上下文中的用户名为空。因此,问题肯定出在授权或身份验证的某个地方
我们在生产服务器中还有一些其他应用程序也在使用Windows身份验证,但我们从未遇到过任何问题
服务器/IIS的哪些设置可能会导致这样的问题?我不确定我们是否遇到了完全相同的问题,但我认为其他人可能会在寻找我遇到的问题的解决方案时发现您的问题 我的问题是[Authorize]属性在我的MVC控制器中运行良好,但是相同名称、不同名称空间的属性在我的集线器中不起作用。我一直看到上下文。用户为空,试图连接到我的集线器的客户端接收到401条未经授权的消息 我花了一周的时间寻找问题的原因,最后我终于找到了答案
[assembly: OwinStartup(typeof(Startup))]
namespace Your.Namespace
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
ConfigureSignalR(app);
}
}
}
现在我很清楚,您应该在ConfigureSignal之前配置Auth,但在入门指南中它不够明确。我把他们搞错了
希望这对别人有帮助 我不确定我们是否有完全相同的问题,但我认为其他人可能会在寻找解决我问题的方法时发现你的问题 我的问题是[Authorize]属性在我的MVC控制器中运行良好,但是相同名称、不同名称空间的属性在我的集线器中不起作用。我一直看到上下文。用户为空,试图连接到我的集线器的客户端接收到401条未经授权的消息 我花了一周的时间寻找问题的原因,最后我终于找到了答案
[assembly: OwinStartup(typeof(Startup))]
namespace Your.Namespace
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
ConfigureSignalR(app);
}
}
}
现在我很清楚,您应该在ConfigureSignal之前配置Auth,但在入门指南中它不够明确。我把他们搞错了
希望这对别人有帮助 我不确定我们是否有完全相同的问题,但我认为其他人可能会在寻找解决我问题的方法时发现你的问题 我的问题是[Authorize]属性在我的MVC控制器中运行良好,但是相同名称、不同名称空间的属性在我的集线器中不起作用。我一直看到上下文。用户为空,试图连接到我的集线器的客户端接收到401条未经授权的消息 我花了一周的时间寻找问题的原因,最后我终于找到了答案
[assembly: OwinStartup(typeof(Startup))]
namespace Your.Namespace
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
ConfigureSignalR(app);
}
}
}
现在我很清楚,您应该在ConfigureSignal之前配置Auth,但在入门指南中它不够明确。我把他们搞错了
希望这对别人有帮助 我不确定我们是否有完全相同的问题,但我认为其他人可能会在寻找解决我问题的方法时发现你的问题 我的问题是[Authorize]属性在我的MVC控制器中运行良好,但是相同名称、不同名称空间的属性在我的集线器中不起作用。我一直看到上下文。用户为空,试图连接到我的集线器的客户端接收到401条未经授权的消息 我花了一周的时间寻找问题的原因,最后我终于找到了答案
[assembly: OwinStartup(typeof(Startup))]
namespace Your.Namespace
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
ConfigureSignalR(app);
}
}
}
现在我很清楚,您应该在ConfigureSignal之前配置Auth,但在入门指南中它不够明确。我把他们搞错了
希望这对别人有帮助 我也有同样的问题-需要将信号器配置放在ConfigureAuth(应用程序)之后;Owin管道的语句。非常感谢你发布这篇伊恩的文章,因为我很容易就在这篇文章上浪费了大量的时间!我也有同样的问题-需要将信号器配置放在ConfigureAuth(应用程序)之后;Owin管道的语句。非常感谢你发布这篇伊恩的文章,因为我很容易就在这篇文章上浪费了大量的时间!我也有同样的问题-需要将信号器配置放在ConfigureAuth(应用程序)之后;Owin管道的语句。非常感谢你发布这篇伊恩的文章,因为我很容易就在这篇文章上浪费了大量的时间!我也有同样的问题-需要将信号器配置放在ConfigureAuth(应用程序)之后;Owin管道的语句。非常感谢你发布这篇伊恩的文章,因为我很容易就在这篇文章上浪费了大量的时间!