9
votes

Signalr / Négocier fait des demandes à / compte / Connexion - je n'ai pas de compte / point de connexion de connexion

Je vois beaucoup d'entrées dans mes journaux à partir de cette demande: xxx pré>

L'erreur est: p> xxx pré>

J'ai un JS Client Connectant à un APPHUB code> qui nécessite une authentification: P>

[Authorize]
[HubName("appHub")]
public class AppHub : Hub
{
    // content
}
  • Je ne sais pas pourquoi la demande recherche automatiquement cette page. Il n'est pas spécifié nulle part dans mon web.config, itinéraires ou ailleurs. Pourquoi cela se passe-t-il? Li>
  • J'aimerais empêcher le client SignalR de tenter de vous connecter si l'utilisateur est non authentifié. Comment cela peut-il être atteint? LI> ul> p>


2 commentaires

ressemble à une redirection causée par l'autorisation de défaut


@Pawel c'est, oui.


3 Réponses :


1
votes

On dirait que cela peut être similaire à ces autres réponses aux questions déjà posées ici et celles-ci peuvent fournir votre solution:

Stackoverflow 1

Stackoverflow 2

Avez-vous essayé d'arrêter la connexion le client quand ils ne sont plus autorisés? xxx


2 commentaires

J'ai [Autoriser] sur tout mon hub (voir question). L'utilisateur devient non authentifié et le client SignalR continue d'essayer de reconnecter , entraînant une tonne de demandes à Compte / Connexion . J'essaie d'empêcher ces demandes.


Le client doit s'arrêter s'il ne peut pas renouer dans un délai de reconnexion.



0
votes

Votre application utilise ci-dessus. L'attribut autoriser redirige sur la page de connexion par défaut lorsqu'il ne parvient pas à autoriser.

Vous pouvez le désactiver en ajoutant ce qui suit à votre web.config : xxx

Ceci supprimera tous les comportements par défaut.

Vous pourriez avoir quelque chose dans votre app.config qui ressemble à xxx

qui est ce qui ajoute ces comportements par défaut pour vous.


0 commentaires

4
votes

Si je comprends votre problème correctement, vous souhaitez créer votre propre classe personnalisée pour le gérer en héritant la classe Authorizeattribute: https://msdn.microsoft.com/en-us/library/system.web.mvc.authorizeattribute (v = vs.118) .aspx

Par exemple: xxx

alors vous pouvez le décorer avec votre classe personnalisée au lieu de l'autorisation par défaut (L'exemple provient d'un contrôleur MVC mais devrait pouvoir fonctionner la même chose sur votre hub) Donc ceci: xxx

devient ceci: xxx

Je crois que le chemin / la connexion est le chemin d'accès par défaut pour les formulaires Auth. C'est pourquoi c'est pourquoi il est dirigé s'il n'est pas défini dans votre fichier de configuration.

Vous pouvez également insérer l'URL spécifique pour rediriger si c'est ce que vous recherchez en plaçant la valeur d'attribut loginurl suivant Dans votre section d'authentification> Elément de formulaires dans le Web.config:


0 commentaires