ich ein Problem mit dem ich begegnet, was eine einfache Anmeldeformular in ASP.NET MVC sollte 2. Im Wesentlichen sieht meine Form ein wenig etwas wie folgt aus:ASP.NET MVC - Html.BeginForm und SSL
using (Html.BeginForm("LogOn", "Account", new { area = "Buyers" }, FormMethod.Post, new { ID = "buyersLogOnForm" }))
ich habe einen RequiresHTTPS Filter auf der Methode LogOn Aktion, aber wenn es ausführt, erhalte ich die folgende Meldung
die angeforderte Ressource kann nur über SSL zugegriffen werden
An dieser Stelle ist die einzige Lösung, die arbeitete, war in einem extra Aktion htmlattribute passieren wie folgt:
var actionURL = "https://" + Request.Url.Host + Request.Url.PathAndQuery;
using (Html.BeginForm("LogOn", "Account", new { area = "Buyers" }, FormMethod.Post, new { ID = "buyersLogOnForm", @action = actionURL }))
Das funktioniert zwar, ich frage mich), warum ich sehe dieses Problem in erster Linie und b) wenn es ist eine einfachere Möglichkeit, von einer http-Seite auf https zu schreiben?
[Bearbeiten]
Ich hätte festgestellt, dass die Anmeldung Drop-Down auf vielen öffentlichen Seiten zur Verfügung stehen wird. Ich möchte nicht, dass alle meine Seiten HTTPS sind. Zum Beispiel sollte meine Hoffnungsseite - die JEDER sehen kann - nicht HTTPS-basiert sein. Im Wesentlichen muss ich das Protokoll in meiner Form spezifizieren, aber habe keine Idee, wie man das macht, oder wenn es möglich ist.
Ich würde mich über Ratschläge/Vorschläge freuen. Vielen Dank im Voraus
JP
Das Problem damit ist, dass kein FormContext für Ihr Formular erstellt wird, so dass alle Html-Eingabehilfen keine Validierungsattribute hinzufügen, die an Ihre Ansichtsmodelle angehängt sind ... –
Siehe die Antwort unten von Brad J. Dies ist NICHT sicher! – Null