Je rencontre un problème avec ce qui devrait être une forme simple d'ouverture de session dans ASP.NET MVC 2. Essentiellement ma forme ressemble un peu quelque chose comme ceci:ASP.NET MVC - Html.BeginForm et SSL
using (Html.BeginForm("LogOn", "Account", new { area = "Buyers" }, FormMethod.Post, new { ID = "buyersLogOnForm" }))
J'ai un filtre RequiresHTTPS sur la méthode d'action LogOn mais quand il exécute je reçois le message suivant
la ressource demandée ne peut être accessible via SSL
A ce stade, la seule solution qui a fonctionné était de passer dans un htmlattribute d'action supplémentaire comme suit:
var actionURL = "https://" + Request.Url.Host + Request.Url.PathAndQuery;
using (Html.BeginForm("LogOn", "Account", new { area = "Buyers" }, FormMethod.Post, new { ID = "buyersLogOnForm", @action = actionURL }))
Bien que cela fonctionne, je me demande a) pourquoi je vois cette question en premier lieu et b) si est un moyen plus simple de poster sur https depuis une page http?
[Modifier]
je aurais dû déclaré que le menu déroulant d'ouverture de session sera disponible sur de nombreuses pages publiques. Je ne veux pas que toutes mes pages soient HTTPS. Par exemple, ma page d'espoir - que N'IMPORTE QUI peut voir - ne devrait pas être basée sur HTTPS. Essentiellement, je dois spécifier le protocole dans mon formulaire, mais je n'ai aucune idée de comment le faire, ou si c'est possible.
J'apprécierais n'importe quels conseils/suggestions. Merci à l'avance
JP
Le problème avec ceci est qu'il n'y a pas de FormContext créé pour votre formulaire, donc tous les helpers de saisie Html n'ajouteront pas d'attributs de validation attachés à vos modèles de vue ... –
Voir la réponse ci-dessous par Brad J. Ce n'est PAS sécurisé! – Null