2009-11-01 3 views
0

J'utilise l'attribut RequireSsl pour rediriger vers une URL https si une action est décorée avec.Lien vers des actions qui n'utilisent pas https à partir d'une page utilisant https

RequireSsl

J'ai besoin maintenant un bon moyen de faire un lien vers l'URL qui ne l'utilise https. Ce message explique mon problème en clair anglais: link to http

Je ne suis pas shure ce que la manière la plus facile est. Dans la vieille école ASP.NET j'ai utilisé secureWebPages on codeproject. Pour être honnête, je ne sais pas exactement ce que fait ce httpModule: ça a juste marché.

Je suppose qu'il fait une redirection 302 à une URL http si une page est demandée via https qui nécessite seulement http. Ma première idée est d'avoir un filtre d'action comme RequireSll mais avec une règle qui redirige vers http si "Request.IsSecure". Cela devient un peu gênant à la fin. La quasi-totalité de mon URL ne nécessite pas https, c'est pourquoi je devrais décorer presque tous les contrôleurs avec un attribut "NoSsl".

Comment gérez-vous cette situation?

Répondre

1

Mon site a une navigation simple et je viens adapter le lien avec le protocole:

<a href="<%= Url.RouteUrl("Content", new { action = "AboutUs"}, "http") %>" title="About Us">About Us</a> 
+0

Voilà une bonne façon. Je ne suis pas un ami de l'url absolue, mais parce qu'ils sont générés par l'URLHelperExtension ils ne sentent plus tellement absolu. –