Compartilhar via


Autenticação e autorização para conexões persistentes do SignalR (SignalR 1.x)

por Patrick Fletcher, Tom FitzMacken

Aviso

Esta documentação não é para a versão mais recente do SignalR. Dê uma olhada em ASP.NET Core SignalR.

Este tópico descreve como impor a autorização em uma conexão persistente. Para obter informações gerais sobre como integrar a segurança em um aplicativo SignalR, consulte Introdução à segurança.

Impor autorização

Para impor regras de autorização ao usar um PersistentConnection , você deve substituir o AuthorizeRequest método . Você não pode usar o Authorize atributo com conexões persistentes. O AuthorizeRequest método é chamado pelo SignalR Framework antes de cada solicitação para verificar se o usuário está autorizado a executar a ação solicitada. O AuthorizeRequest método não é chamado do cliente; em vez disso, você autentica o usuário por meio do mecanismo de autenticação padrão do aplicativo.

O exemplo a seguir mostra como limitar solicitações a usuários autenticados.

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

Você pode adicionar qualquer lógica de autorização personalizada no método AuthorizeRequest; por exemplo, verificar se um usuário pertence a uma função específica.