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.