Autenticazione e autorizzazione per le connessioni persistenti di SignalR
di Patrick Fletcher, Tom FitzMacken
Avviso
Questa documentazione non è per la versione più recente di SignalR. Esaminare ASP.NET Core SignalR.
In questo argomento viene descritto come applicare l'autorizzazione a una connessione permanente. Per informazioni generali sull'integrazione della sicurezza in un'applicazione SignalR, vedere Introduzione alla sicurezza.
Versioni software usate in questo argomento
- Visual Studio 2013
- .NET 4.5
- SignalR versione 2
Versioni precedenti di questo argomento
Per informazioni sulle versioni precedenti di SignalR, vedere Versioni precedenti di SignalR.
Domande e commenti
Lasciare commenti e suggerimenti su come è piaciuta questa esercitazione e cosa è possibile migliorare nei commenti nella parte inferiore della pagina. Se si hanno domande che non sono direttamente correlate all'esercitazione, è possibile pubblicarle nel forum di ASP.NET SignalR o StackOverflow.com.
Applicare l'autorizzazione
Per applicare le regole di autorizzazione quando si usa un oggetto 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, ma l'utente viene autenticato tramite il meccanismo di autenticazione standard dell'applicazione.
L'esempio seguente illustra 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 determinato ruolo.