Partager via


Authentification et autorisation pour les connexions persistantes SignalR

par Patrick Fletcher, Tom FitzMacken

Avertissement

Cette documentation ne concerne pas la dernière version de SignalR. Consultez ASP.NET Core SignalR.

Cette rubrique explique comment appliquer l’autorisation sur une connexion persistante. Pour obtenir des informations générales sur l’intégration de la sécurité dans une application SignalR, consultez Présentation de la sécurité.

Versions logicielles utilisées dans cette rubrique

Versions précédentes de cette rubrique

Pour plus d’informations sur les versions antérieures de SignalR, consultez Anciennes versions de SignalR.

Questions et commentaires

Laissez vos commentaires sur la façon dont vous avez aimé ce tutoriel et sur ce que nous pourrions améliorer dans les commentaires en bas de la page. Si vous avez des questions qui ne sont pas directement liées au tutoriel, vous pouvez les publier sur le forum ASP.NET SignalR ou StackOverflow.com.

Appliquer l’autorisation

Pour appliquer des règles d’autorisation lors de l’utilisation d’une connexion permanente , vous devez remplacer la AuthorizeRequest méthode . Vous ne pouvez pas utiliser l’attribut Authorize avec des connexions persistantes. La AuthorizeRequest méthode est appelée par SignalR Framework avant chaque requête pour vérifier que l’utilisateur est autorisé à effectuer l’action demandée. La AuthorizeRequest méthode n’est pas appelée à partir du client ; au lieu de cela, vous authentifiez l’utilisateur via le mécanisme d’authentification standard de votre application.

L’exemple ci-dessous montre comment limiter les demandes aux utilisateurs authentifiés.

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

Vous pouvez ajouter n’importe quelle logique d’autorisation personnalisée dans la méthode AuthorizeRequest ; par exemple, vérifier si un utilisateur appartient à un rôle particulier.