Ich habe eine Webapplikation (asp.net 3.5) mit gemischten SSL. Alle kontobezogenen Seiten werden über SSL ausgeliefert. Meistens werden alle anderen Seiten über Nicht-SSL ausgeliefert. Um automatisch zwischen HTTPS und HTTP zu wechseln, verwende ich this component. In letzter Zeit gab es eine Nachricht bezüglich der Fähigkeit, Benutzer-Sessions in ungesicherten WLAN-Netzwerken zu entführen. Dies sollte möglich sein, indem das Cookie abgefangen wird, das über Nicht-SSL-Verbindungen übertragen wird.asp.net Verwendung requireSSL und immer noch in der Lage zu überprüfen, ob der Benutzer auf Nicht-SSL-Seiten
Dies veranlasste mich, meine Sicherheitsoptionen in dieser Webapplikation zu überprüfen. Ich habe (wieder) this article von MSDN ergriffen und versucht, die requireSSL = true Eigenschaft auf meiner Formsauthentication. Bevor ich die Webapplikation gestartet habe, habe ich festgestellt, dass meine User.Identity auf Nicht-SSL-Seiten null ist, da der Cookie, der diese Informationen enthält, nicht von und an den Webbrowser gesendet wird.
Ich brauche einen Mechanismus, der den Benutzer über eine SSL-Verbindung authentifiziert ... und merkt sich diese Authentifizierungsinformationen auch auf Nicht-SSL-Seiten.
Während der Suche nach SO habe ich this post gefunden. Es scheint mir, dass dies eine gute Lösung ist. Aber ich frage mich, ob eine Lösung beim Speichern von Login-Informationen im Session-Status gefunden werden kann? Ich denke, das Application_AuthenticateRequest in dem Global.asax abzufangen. Überprüfen Sie, ob die Verbindung sicher ist, und überprüfen Sie entweder den Authcookie oder die Sitzung. Ich weiß nicht genau, wie ich das noch umsetzen werde. Vielleicht kannst du mit mir darüber nachdenken?
Hallo Brad, danke für deine Antwort. Zwei Gründe, warum wir http und https mischen. Erstens ist es eine Anwendung, von der auch Bilder an E-Mail-Nachrichten geliefert werden. Bilder, die in HTML-E-Mail-Nachrichten verwendet werden, sollten aufgrund von Kompatibilitätsproblemen besser nicht über HTTPS gesendet werden. Da wir diese Bilder über eine Nicht-ssl-Verbindung bereitstellen, wird auch ein Popup in der Anwendung angezeigt, in dem die Benutzer gefragt werden, ob sie gemischte Inhalte zulassen.Dieselben Bilder für die E-Mail-Nachrichten werden innerhalb der Anwendung verwendet. – JonHendrix
Zweitens werden Assets (CSS, JS, Bilder usw.) nicht zwischengespeichert, wenn sie über SSL geliefert werden. Das heißt, jede Anfrage sendet jedes Mal eine Menge an Assets. Obwohl dies mit einer gewissen Neuausrichtung und Optimierung gelöst werden könnte, denke ich dennoch, dass die Anwendung besser reagieren wird, wenn die meisten Ressourcen zwischengespeichert werden. – JonHendrix
Ich spreche wirklich nur über die Anwendung selbst, nicht die Vermögenswerte. Die Möglichkeit, Bilder sowohl über SSL als auch über Nicht-SSL zuzustellen, sollte kein großes Problem sein, vorausgesetzt, dass die nicht-SSL-Bilder, die bedient werden, keine Authentifizierung zum Anzeigen benötigen (da sie in E-Mail-Nachrichten eingebettet sind) Ich schätze, das tun sie nicht). –