ja napotykają problem z tym, co powinno być prosty formularz logowania w ASP.NET MVC 2. Zasadniczo moja forma wygląda trochę coś takiego:ASP.NET MVC - HTML.BeginForm i SSL
using (Html.BeginForm("LogOn", "Account", new { area = "Buyers" }, FormMethod.Post, new { ID = "buyersLogOnForm" }))
mam filtr RequiresHTTPS na metody logowania działania, ale kiedy wykonuje I pojawia się następujący komunikat
Żądany zasób można dostępne tylko za pośrednictwem protokołu SSL
W tym momencie jedynym rozwiązaniem, które działało było przejść na dodatkowym htmlattribute działania w następujący sposób:
var actionURL = "https://" + Request.Url.Host + Request.Url.PathAndQuery;
using (Html.BeginForm("LogOn", "Account", new { area = "Buyers" }, FormMethod.Post, new { ID = "buyersLogOnForm", @action = actionURL }))
Chociaż to działa Zastanawiam a) dlaczego widzę ten problem w pierwszej kolejności oraz b) jeśli istnieje jest prostszy sposób publikowania w https ze strony http?
[Edytuj]
powinienem stwierdził, że rozwijana logowania będą dostępne na wielu stronach publicznych. Nie chcę, aby wszystkie moje strony były HTTPS. Na przykład moja strona nadziei - którą KAŻDY może zobaczyć - nie powinna być oparta na HTTPS. Zasadniczo muszę podać protokół w mojej formie, ale nie mam pojęcia, jak to zrobić, lub jeśli jest to możliwe.
Byłbym wdzięczny za wszelkie porady/sugestie. góry dzięki
JP
Problem z tym, że nie istnieje formularz FormContext dla twojego formularza, więc wszyscy pomocnicy wejściowi HTML nie dodadzą atrybutów sprawdzania poprawności załączonych do twoich modeli widoku ... –
Zobacz odpowiedź poniżej podaną przez Brada J. To NIE jest bezpieczne! – Null