J'ai un module HTTP pour gérer l'authentification de Facebook, qui fonctionne bien en mode pipeline classique.IIS - Traitement différent du document par défaut en mode Pipeline intégré?
En mode pipeline intégré, cependant, une requête supplémentaire est transmise pour le document par défaut, ce qui provoque l'échec du module. Nous regardons la demande (de Facebook) pour récupérer et valider l'utilisateur accédant à notre application. La demande initiale s'authentifie correctement, mais je vois une demande deuxième, qui n'a pas les variables de formulaire publiées, et provoque donc l'échec de l'authentification.
En mode pipeline intégré, une requête http pour "/" rendements 2 AuthenticateRequests consécutives:
- Une demande où AppRelativeCurrentExecutionFilePath = "~ /"
- Une demande où AppRelativeCurrentExecutionFilePath = « ~/default .aspx "
Cette deuxième requête perd toutes les valeurs de formulaire, de sorte qu'elle ne parvient pas à s'authentifier. En mode classique, cette deuxième requête est la seule qui arrive, et elle préserve les valeurs du formulaire.
Des idées que se passe-t-il ici?
MISE À JOUR: Voici une image de la trace provenant des notifications de module dans IIS. Notez que mon module, FBAuth, voit AUTHENTICATE_REQUEST plusieurs fois (je m'attendrais à 2 - un pour l'authentification et un pour postauthenticate, mais j'en ai 4).
Je commence à croire que cela a quelque chose à voir avec la configuration du module/filtre parce que je l'ai trouvé un (Vista), à exécuter le même code qui ne se déclenche pas à plusieurs reprises ces événements - il se comporte comme prévu. Je travaille à travers essayer de comprendre ce que la différence pourrait être ...
Merci! Tom
Excellent lien, bien que je ne crois pas que je rencontre un de ces problèmes. Je travaille avec un module, pas un gestionnaire, et l'événement que je surveille est l'événement d'authentification. Bien que ce soit possible, cela explique pourquoi je le vois deux fois, cela n'explique pas pourquoi l'info http est perdue (par exemple vars). –