在OWIN托管的SignalR实现中接受ASP.NET Forms Authentication cookie



我有一个自托管的SignalR实例,使用OWIN。我想实施授权。我的用户将已经使用Forms Authentication登录到ASP.NET MVC应用程序。

由于这两个应用程序将在同一URL上可用,因此cookie将在两者之间共享。如何在自托管SignalR应用程序中接受Forms Authentication cookie?

澄清:我说的是浏览器访问自托管SignalR集线器时使用的凭据与登录单独(但相关,并安装在同一主机上)IIS应用程序时使用的相同。

因此,问题是:在调用集线器之前,我如何挂接到SignalR服务器管道来捕获.ASPXAUTH cookie并使用它来设置当前主体?

如果有帮助的话,我可以在混合物中加入一些南希。

如果您的用户已经通过身份验证并登录,您可以在SignalR集线器中检查以下内容:

Context.User.Identity.IsAuthenticated

确保此属性设置为true。您可以将此检查放在集线器的构造函数中,以阻止/删除它们的连接。如果为false,则可以将它们重定向到另一个页面。

最新更新