me encuentro con un problema con lo que debería ser una forma de inicio de sesión simple en ASP.NET MVC 2. Esencialmente mi formulario se ve un poco algo como esto:ASP.NET MVC - HTML.BeginForm y SSL
using (Html.BeginForm("LogOn", "Account", new { area = "Buyers" }, FormMethod.Post, new { ID = "buyersLogOnForm" }))
tengo un filtro RequiresHTTPS en el método de acción LogOn pero cuando se ejecuta recibo el siguiente mensaje
el recurso solicitado sólo se puede acceder a través de SSL
En este punto, la única solución que funcionó fue a pasar en un htmlattribute acción adicional de la siguiente manera:
var actionURL = "https://" + Request.Url.Host + Request.Url.PathAndQuery;
using (Html.BeginForm("LogOn", "Account", new { area = "Buyers" }, FormMethod.Post, new { ID = "buyersLogOnForm", @action = actionURL }))
Aunque esto funciona Me pregunto a) por qué estoy viendo este tema en primer lugar, y b) si hay ¿Es una forma más sencilla de publicar en https desde una página http?
[Editar]
yo, hubiera declarado que el menú desplegable de inicio de sesión estará disponible en muchas páginas públicas. No quiero que todas mis páginas sean HTTPS. Por ejemplo, mi página de esperanza, que CUALQUIERA puede ver, no debe estar basada en HTTPS. Esencialmente, necesito especificar el protocolo en mi formulario, pero no tengo ni idea de cómo hacerlo, o si es posible.
Agradecería cualquier consejo/sugerencia. Gracias de antemano
JP
El problema con esto es que no hay FormContext creado para su formulario, por lo que todos los helpers de entrada HTML no agregarán atributos de validación adjuntos a sus modelos de vista ... –
Consulte la respuesta a continuación por Brad J. ¡Esto NO es seguro! – Null