Frage

Ich versuche, ein Home-grown Login-System zur Standard-asp.net Anmeldekontrolle zu konvertieren, die in .net. Ich möchte die gesamte Kommunikation auf der Website für einen nicht angemeldeten Benutzer in Klartext sein, aber sperren alles in SSL sobald der Benutzer anmeldet -. Einschließlich der Übertragung von Benutzernamen und Passwort

Ich hatte diese Arbeiten vor, indem eine zweite Seite geladen - „loginaction.aspx“ - mit einem https: Präfix, dann in Request.Form.Keys für die richtigen Textboxsteuerelemente, indem Sie den Benutzernamen und das Passwort herausziehen. Gibt es eine Möglichkeit etwas ähnliches mit den .net Login Kontrollen zu tun? Ich möchte nicht eine separate Login-Seite haben, sondern um diese Steuer (innerhalb eines Loginview) auf jeder Seite auf der Website.

War es hilfreich?

Lösung

Sie werden in der Lage sein, nicht das zu tun, was Sie einfach sprechen, weil die Postbacks (das ist, was die Anmeldekontrolle verwendet) wird, was die Sicherheit der Seite gehen sein (SSL oder Nicht-SSL).

Ihre beste Wette in diesem Szenario ist einen IFRAME zu verwenden, die eine HTTPS (SSL) Seite einrichten, die nur thelogin Steuerelement enthält. Möglicherweise müssen Sie auf eine andere Seite nach dem Login umleiten, die Sie aus dem IFRAME springen lässt.

Plan B wäre ein separates Formular haben auf der Seite (außerhalb des Hauptformulars), die die Eigenschaft Aktion Punkt auf einem andere Seite, wo Sie die Login behandeln. Sie müssen Ihren Ihren eigenen Login-Code rollen die Formularauthentifizierung zu behandeln.

Andere Tipps

Ich war in der Lage, dies zu erreichen, indem sie ein OnClientClick Ereignis auf die Login-Button-Steuerelement hinzugefügt, und stellen Sie die JavaScript-Funktion folgen.
`

function forceSSLSubmit() 
{

                var strAction = document.forms[0].action.toString();

                if (strAction.toLowerCase().indexOf("http:") == 0) {
                    strAction = "https" + strAction.substring(4);

                    document.forms[0].action = strAction;
                }

        }

`

Sie werden in der Lage sein nicht Ihre Website als nicht-SSL zu haben, mit einer Login-Box auf jeder Seite, und dann die Benutzername und Passwort per SSL einreichen.

Der einzige Weg, dies zu erreichen, ist wirklich Rahmen irgendeine Art zu verwenden. Auf diese Weise Ihre gesamte Seite könnte nicht-SSL sein, aber die Login Rahmen würde SSL sein.

Die üblichen Möglichkeiten dies zu tun ist, um entweder die gesamte Website mit SSL zu sperren, keine Sorge über den Benutzernamen und das Kennwort SSL mit verschlüsselt und an SSL gehen, nachdem sie sich anmelden, oder gehen Sie den Rahmen Route, die ich oben erwähnt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top