Compartir a través de


Autenticación y autorización para las conexiones persistentes de SignalR (SignalR 1.x)

por Patrick Fletcher, Tom FitzMacken

Advertencia

Esta documentación no es para la última versión de SignalR. Eche un vistazo a ASP.NET Core SignalR.

En este tema se describe cómo aplicar la autorización en una conexión persistente. Para información general sobre la integración de la seguridad en una aplicación SignalR, consulte Introducción a la seguridad.

Aplicación de autorización

Para aplicar reglas de autorización al utilizar PersistentConnection, debe invalidar el método AuthorizeRequest. No puede usar el atributo Authorize con conexiones persistentes. SignalR Framework llama al método AuthorizeRequest antes de cada solicitud para comprobar que el usuario está autorizado para realizar la acción solicitada. No se llama al método AuthorizeRequest desde el cliente; en su lugar, se autentica al usuario mediante el mecanismo de autenticación estándar de la aplicación.

En el ejemplo siguiente se muestra cómo limitar las solicitudes a los usuarios autenticados.

public class AuthenticatedConnection : PersistentConnection 
{ 
    protected override bool AuthorizeRequest(IRequest request) 
    { 
        return request.User.Identity.IsAuthenticated; 
    } 
}

Puede agregar cualquier lógica de autorización personalizada en el método AuthorizeRequest; por ejemplo, comprobar si un usuario pertenece a un rol determinado.