Share via


Autenticazione e autorizzazione per le connessioni persistenti di SignalR (SignalR 1.x)

di Patrick Fletcher, Tom FitzMacken

Avviso

Questa documentazione non è per la versione più recente di SignalR. Esaminare ASP.NET Core SignalR.

Questo argomento descrive come applicare l'autorizzazione in una connessione persistente. Per informazioni generali sull'integrazione della sicurezza in un'applicazione SignalR, vedere Introduzione alla sicurezza.

Applicare l'autorizzazione

Per applicare le regole di autorizzazione quando si usa un persistentConnection , è necessario eseguire l'override del AuthorizeRequest metodo. Non è possibile usare l'attributo Authorize con connessioni persistenti. Il AuthorizeRequest metodo viene chiamato da SignalR Framework prima di ogni richiesta per verificare che l'utente sia autorizzato a eseguire l'azione richiesta. Il AuthorizeRequest metodo non viene chiamato dal client. È invece necessario autenticare l'utente tramite il meccanismo di autenticazione standard dell'applicazione.

Nell'esempio seguente viene illustrato come limitare le richieste agli utenti autenticati.

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

È possibile aggiungere qualsiasi logica di autorizzazione personalizzata nel metodo AuthorizeRequest; ad esempio, verificando se un utente appartiene a un ruolo specifico.