2010-12-10 19 views
6

Je travaille sur l'application ASP.NET MVC 2. le site fonctionne sous SiteMinder (agent tiers) pour l'authentification. Le Siteminder injecte un en-tête personnalisé à la requête HTTP entrante. Mais quand j'essaie de lire l'en-tête personnalisé, je n'ai pas la valeur.Lecture d'en-têtes HTTP Request personnalisés

System.Web.HttpContext.Current.Request.ServerVariables["CustomKey"]; 

On dirait que ces en-têtes personnalisés sont dépouillés par MVC. J'ai vérifié que les en-têtes sont bien sûr injectés par SiteMinder. Est-ce que je fais quelque chose de mal en lisant comme indiqué ci-dessus?

Répondre

13

Vous cherchez HttpRequest.Headers, pas ServerVariables qui représentent des variables desservies par IIS à l'application:

System.Web.HttpContext.Current.Request.Headers["CustomKey"]; 
+0

J'ai essayé System.Web.HttpContext.Current.Request.ServerVariables ["CustomKey"]; ainsi que System.Web.HttpContext.Current.Request.Headers ["CustomKey"]; Les deux n'ont pas fonctionné – MeghanaK

+0

@MeghanaK avez-vous déjà compris ce problème? – superartsy

0

Vous vous essayé d'utiliser un agent Fiddler Http Proxy pour vérifier que les en-têtes personnalisés est injecté par SiteMinder dans la réponse entête.??