le falta algo de las otras respuestas es la capacidad de utilizar de SignalR construido en la costumbre clases de auth La documentación real de SignalR sobre el tema es terrible, pero dejé un comentario en la parte inferior de la página que detalla cómo hacerlo (Authentication and Authorization for SignalR Hubs).
Básicamente sustituir la clase de SignalR AuthorizeAttribute Siempre
[AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)]
public class CustomAuthAttribute : AuthorizeAttribute
A continuación, decorar sus centros con [CustomAuth] por encima de la declaración de la clase. A continuación, puede anular los siguientes métodos de autenticación para manejar:
bool AuthorizeHubConnection(HubDescriptor hubDesc, IRequest request);
bool AuthorizeHubMethodInvocation(IHubIncomingInvokerContext hubContext, bool appliesToMethod);
Desde que estoy en los servidores IIS y tienen un esquema de autenticación personalizada, simplemente devuelve true desde el método AuthorizeHubConnection, porque en mi HttpModule de autenticación ya la authenicate/signalr/connect y/signalr/reconnect llamadas y guardar datos de usuario en un elemento HttpContext. Por lo tanto, el módulo maneja la autenticación en la llamada de conexión SignalR inicial (una llamada HTTP estándar que inicia la conexión del socket web).
Para autorizar llamadas en métodos concentradores específicos Compruebo nombres de métodos contra permisos guardados en HttpContext (es el mismo HttpContext guardado de la solicitud de conexión inicial) y devuelvo verdadero o falso en función de si el usuario tiene permiso para llamar a un determinado método.
En su caso, es posible que pueda utilizar el método AuthorizeHubConnection y decorar sus métodos de concentrador con funciones específicas, porque parece que está utilizando un sistema de identidad estandarizado, pero si algo no funciona bien, siempre puede revertir a la fuerza bruta con middleware HttpModule (u OWIN) y buscando datos de contexto en llamadas de websocket posteriores con AuthorizeHubMethodInvocation.
Otra forma de bloquear las URL de los señalizadores usando signalr 1.0 y Owin: http://eworldproblems.mbaynton.com/2012/12/securing-signalr-to-your-sites-users/ – mbaynton