在OWIN托管的SignalR实现中接受ASP.NET Forms身份验证cookie?

时间:2013-07-02 09:14:07

标签: forms-authentication signalr owin

我有一个使用OWIN的自托管SignalR实例。我想实施授权。我的用户已经使用表单身份验证登录到ASP.NET MVC应用程序。

由于两个应用程序将在同一个URL上可用,因此cookie将在两者之间共享。如何在自托管SignalR应用程序中接受表单身份验证cookie?

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

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

如果有帮助,我可以把一些南希投入混合物中。

1 个答案:

答案 0 :(得分:0)

如果您的用户已经过身份验证并已登录,则可以在SignalR中心内查看以下内容:

Context.User.Identity.IsAuthenticated

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