3 Stimmen

JSF 2.0: Wie man ein Formular sicher auf einer HTTP-Seite übermittelt

Auf den meisten Seiten habe ich ein Log-in-Panel, das in einem kleinen Div am oberen Rand der Seite enthalten ist. Früher, als ich noch kein JSF verwendet habe, habe ich das Attribut des Anmeldeformulars auf action a https://.... um den Benutzernamen und das Passwort sicher zu übermitteln.

Wenn ich derzeit den Tag <h:form> Das Formular wird immer an die Seite übermittelt, die der Benutzer geöffnet hat (z. B. wenn sich das Anmeldefeld auf der Seite index.xhtml befindet, wird die Aktion des Formulars auch index.xhtml sein). Gibt es eine Möglichkeit, zu ändern, wohin das Formular übermittelt wird? Ich habe versucht, das Attribut action eines commandButton innerhalb dieses Formulars zu LoginStatus aber das Formular wird weiterhin an index.xhtml übermittelt.

Ich wäre sehr dankbar, wenn mir jemand zeigen könnte, wie ich die sichere Anmeldung mit JSF 2.0 erreichen kann.

0 Stimmen

Haben Sie einen Blick geworfen auf ?

0 Stimmen

@home: Das ist genau das, was ich tun möchte: das Formular unsicher ausgeben, aber sicher übermitteln. Es ist mir gelungen, dies in einfachem JSP zu tun, aber ich bin nicht sicher, wie ich es mit JSF tun kann, da ich das Aktionsattribut des Formulars nicht ändern kann.

0 Stimmen

Ich wollte nur sicherstellen, dass Sie sich der Tatsache bewusst sind, dass gerade unter Ihr Login-Panel auf ungesicherten Seiten stellt ein gewisses Sicherheitsrisiko dar. Ich kenne keine Lösung dafür. IMHO ist die beste Lösung, entweder HTTPS zu haben oder nicht - keine gemischten Lösungen!

1voto

Murat Can ALPAY Punkte 510

Sowie, was ich verstehe, von dem, was Sie versuchen zu tun, würde ich vorschlagen, Sie überschreiben die Standard-Form-Komponenten-Renderer und fügen Sie die https Verhalten der Komponente. Es sollte wahrscheinlich funktionieren :)

1 Stimmen

Übrigens scheint es so, als ob das Absenden eines Formulars über "https" von einer "http"-Seite immer noch offen für Sicherheitsangriffe wäre: stackoverflow.com/questions/4309199/must-logins-be-a-https-page

0voto

jmj Punkte 232204

Sie können die Sicherheit folgendermaßen erhöhen

  • Konfigurieren Sie SSL in Ihrem Webapplikationsserver für bestimmte gesicherte Seiten (Login, Banking usw.).
  • Spring Security verwenden

0 Stimmen

Ich habe versucht, u Sicherheitseinschränkungen festzulegen, die SSL-Verbindungen auf der Seite Login.xhtml erzwingen. Das Problem ist jedoch, dass Login.xhtml nur ein kleiner Teil ist, der in vielen Seiten enthalten ist. Viele dieser Seiten erfordern keine SSL-Verbindungen, aber ich muss trotzdem ein Anmeldefeld auf ihnen anzeigen. Ich brauche eine Möglichkeit, die Übermittlung des Formulars sicher zu machen.

0 Stimmen

Sie können diese Seite also sichern und in alle Seiten einfügen, wo es nötig ist.

0 Stimmen

Hmmmm ich bin mir nicht sicher, ob es funktioniert. Wenn ich Login.xhtml direkt in die Adressleiste des Browsers eingebe, werde ich auf eine Warnseite geleitet, die besagt, dass mein selbstsigniertes Zertifikat nicht sicher ist. Wenn ich jedoch Login.xhtml in index.xhtml einfüge, sehe ich nichts dergleichen.

0voto

Ali Punkte 13

Eine Möglichkeit besteht darin, ein Java-Skript zu verwenden, um die Formulardaten abzurufen und die Anfrage an eine sichere URL zu senden. Sie können eine gängige JS-Bibliothek verwenden, um die Anfrage zu senden, z. B. JQuery.

0 Stimmen

Dies funktioniert möglicherweise nicht, weil die ursprünglichen Seiten unsichere HTTP-Seiten sind. Das Skript auf diesen Seiten kann keine Anfrage an eine sichere Seite senden.

0 Stimmen

Ich habe einige Jquery-Implementierungen gesehen, die jQuery.ajax-Aufrufe verwenden, die AJAX-Anfragen von http-Seiten an https-Links senden.

1 Stimmen

Schau dir das an Frage . Das ist nicht machbar.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X