我有一个使用OWIN的自托管SignalR实例。我想实施授权。我的用户已经使用表单身份验证登录到ASP.NET MVC应用程序。
由于两个应用程序将在同一个URL上可用,因此cookie将在两者之间共享。如何在自托管SignalR应用程序中接受表单身份验证cookie?
澄清:我说的是浏览器使用相同的凭据访问自托管的SignalR集线器,这些凭据用于登录单独的(但相关的,并安装在同一主机上)IIS应用程序。
所以,问题是:如何挂钩到SignalR服务器管道以捕获.ASPXAUTH
cookie并在调用集线器之前使用它来设置当前主体?
如果有帮助,我可以把一些南希投入混合物中。
答案 0 :(得分:0)
如果您的用户已经过身份验证并已登录,则可以在SignalR中心内查看以下内容:
Context.User.Identity.IsAuthenticated
确保此属性设置为true。您可以将此检查放在集线器的构造函数中以阻止/删除它们的连接。如果为false,您可以将它们重定向到另一个页面。