MVC Rediriger avec des en-têtes personnalisés
J'espère que c'est une question simple pour quelqu'un là-bas.
Essentiellement sur réception d'une demande à mon contrôleur MVC, je veux:
- Ajouter une "Autorisation" de l'en-tête de la réponse
- Rediriger vers une autre application assis sur un autre domaine
- De lire le "Autorisation" à en-tête de ce site externe.
Il semble que la loi de réorientation, dépouillé de tous mes en-têtes personnalisés et des redirections.
Ma question, comment puis-je ajouter un nouvel en-tête, ET d'effectuer une redirection, ET l'en-tête apparaissent dans les en-têtes pour la réception d'accueil [à la fin de la redirection] lire?
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas. Ce n'est pas le HTTP fonctionne. Tout d'abord, une "redirection" est juste une 301, 302, ou (depuis HTTP 1.1) 307 code de statut avec le
Location
en-tête défini l'adresse que le client devrait aller. C'est le client qui initie la demande d'URL, de sorte que vous n'avez aucun contrôle sur ce que les en-têtes qu'ils envoient.Deuxième, HTTP est sans état, le fait qu'une
Authorization
en-tête a été envoyé dans une réponse à un certain point a zéro portant sur tout ce qui se passe dans toutes les futures demandes. Les navigateurs Web et d'autres clients HTTP jupe autour de la apatrides nature de HTTP en utilisant des sessions sur le serveur-côté et des témoins sur le côté client. Le client envoie le cookie au serveur avec la demande. Le cookie correspond à un élément de la session de stocker sur le serveur, et le serveur charge les données à partir de cette session pour donner l'apparence, comme si l'état était maintenu.Troisième, les cookies ne fonctionnent pas dans cette situation, parce qu'ils sont domaine lié et ne sont pas envoyés avec des demandes à des domaines qu'ils ne proviennent pas de. Donc, même si vous deviez créer une session de maintenir l'autorisation, de l'autre site ne serait jamais le voir.
FWIW, le principe de base ici, le partage de l'état de l'authentification avec un domaine différent, est exactement quelles sont les technologies comme OAuth ont été développées. Donc orienter les futures recherches dans cette direction.
Pas - de redirection 302 sont gérées par le navigateur et il ne sera pas re-joindre les en-têtes.
Options:
{header:XXXX, location:url}
et présenter une deuxième requête AJAX à cet emplacement. Maintenant, puisque vous voulez probablement après d'autres domaine que vous ne pouvez pas être en mesure d'en faire la demande à tous (à moins que l'autre domaine prend en charge la SCRO).