所以在关注这篇文章后, http://www.asp.net/signalr/overview/security/hub-authorization
我找不到任何关于如何以某种方式告知用户他未获得授权的信息。
在System.Web.Mvc.AuthorizeAttribute中,您可以拥有
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
...
}
您可以处理请求并将用户重定向到页面。
据我所知,在SignlaR的案例中,这是一个websocket请求,您无法重定向。
但有没有办法处理来自JavaScript的401未经授权的响应,至少显示一条消息?
答案 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); }
});