6

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

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

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

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

如果有帮助,我可以加入一些南希。

4

1 回答 1

0

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

Context.User.Identity.IsAuthenticated

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

于 2013-07-02T13:00:40.727 回答