SignlaR身份验证 - 处理未授权

时间:2016-07-14 08:16:24

标签: javascript c# authorization signalr signalr.client

所以在关注这篇文章后, http://www.asp.net/signalr/overview/security/hub-authorization

我找不到任何关于如何以某种方式告知用户他未获得授权的信息。

在System.Web.Mvc.AuthorizeAttribute中,您可以拥有

protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
   ...
}

您可以处理请求并将用户重定向到页面。

据我所知,在SignlaR的案例中,这是一个websocket请求,您无法重定向。

但有没有办法处理来自JavaScript的401未经授权的响应,至少显示一条消息?

1 个答案:

答案 0 :(得分:1)

您可以在JavaScript中处理SignalR断开连接的原因。请参阅Understanding and Handling Connection Lifetime Events in SignalR

$.connection.hub.disconnected(function () {
    if ($.connection.hub.lastError) 
        { alert("Disconnected. Reason: " +  $.connection.hub.lastError.message); }
});