Authentification et autorisation pour les connexions persistantes SignalR (SignalR 1.x)
par Patrick Fletcher, Tom FitzMacken
Avertissement
Cette documentation ne concerne pas la dernière version de SignalR. Jetez un coup d’œil à ASP.NET Core SignalR.
Cette rubrique explique comment appliquer une 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é.
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.