无论Authorize属性如何,都会调用SignalR OnConnected()方法

时间:2014-12-13 20:45:46

标签: authorization signalr asp.net-identity signalr-hub

我是SignalR的新手。我正在学习使用SignalR,到目前为止看起来真的很棒。

我只是试图限制与授权(登录)用户的连接,因为我已经在使用ASP.NET Identity Framework。

我的集线器上有[Authorize]属性,但是当未经授权的用户尝试连接尝试时,这并不会阻止我的OnConnected()方法被调用。

我试图实现PersistentConnection并覆盖AuthorizeRequest方法,我认为这可能会解决它:

namespace Common.Connections
{
    /// <summary>
    /// Authorizes requests for persistent connections in SignalR
    /// </summary>
    public class AuthenticatedConnection : PersistentConnection
    {
        protected override bool AuthorizeRequest(IRequest request)
        {
            return request.User.Identity.IsAuthenticated;
        }
    }
}

也许这不应该停止被调用的方法。

我想我可以轻松地在OnConnected()方法中手动检查授权,但我不确定最佳方法是什么。

是否应该为非授权连接尝试调用OnConnected()方法?

0 个答案:

没有答案