SignalR不允许连接

问题描述:

我们正在调查在我们的应用中使用SignalR进行消息传递。我们希望将这个消息传递系统作为一个应用程序自行设置。所以我们所有的应用程序都会连接到这个消息应用程序来发送消息。所有这些工作正常,但我不确定我们如何保护SignalR通讯应用程序。我们只希望我们的应用程序连接到它(基本上我们的应用程序用户)。如果有其他连接试图连接,我们想拒绝这个连接。目前我们设置了一个可以在服务器端进行验证的查询字符串参数,但我不确定在建立连接之前我们如何进行验证。我知道在枢纽中我们可以重写OnConnected,但这已经太晚了。我想在开始之前拒绝连接。SignalR不允许连接

有人能指出我在正确的方向。

我们在ASP.NET应用程序中这样做。我们已经实现了一个认证模块。我们在那里验证cookie和用户。

+0

嗨,霍华德。你能解释一下你如何设置它。现在很明显,我们没有解决方案 – Amitesh

+0

我们有一个'IHttpModule',我们通过模块的'Init'方法连接到'HttpApplication.AuthenticationRequest'。如果Cookie是好的或者不好的话,AuthenticationRequest委托会填充'HttpContext.User'和'System.Threading.Thread.CurrentPrincipal'。由于我们用'System.Web.Http.AuthorizeAttribute'来装饰我们的控制器API,所以任何没有经过身份验证的身份验证请求都会失败,我们相信*这是在连接建立之前调用的,因为委托会触发对所有请求 - 但你应该确认。 –