2010-02-09 2 views
9

Wir verwenden Federsicherheit in unsere Systeme und unser Server verwendet das https-Schema.https in default-target-url spring sicherheit

Allerdings läuft die Anwendung auf http nicht https, so dass der Server, Apache, der https-Handler ist. während die Anwendung auf http hinter einer Firewall ausgeführt wird.

Arbeitscode:

<form-login login-page="/Login.html"  
authentication-failure-url="https://www.ourapp.com/FailureLogin.jsp" 
always-use-default-target="false" 
default-target-url="https://www.ourapp.com/SuccessLogin.jsp"/> 
<form-login login-page="/Login.html" 
authentication-failure-url="https://www.ourapp.com/FailureLogin.jsp" 
always-use-default-target="false" 
default-target-url="https://www.ourapp.com/SuccessLogin.jsp"/> 

Problem Code:

<form-login login-page="/Login.html"  
authentication-failure-url="/FailureLogin.jsp" 
always-use-default-target="false" 
default-target-url="/SuccessLogin.jsp"/> 
<form-login login-page="/Login.html" 
authentication-failure-url="/FailureLogin.jsp" 
always-use-default-target="false" 
default-target-url="/SuccessLogin.jsp"/> 

ist es eine Möglichkeit zu erwähnen: zu URL Redirect mit /SuccessLogin.jsp Ende, sondern mit https-Protokoll?

Als Referenz, Frage ist Cross gebucht @Code ranch PS: kann ich TargetUrlResolver mir in Konfigurationen helfen?

Antwort

6

Verwendung requires-channel="https"

<http> 
    <intercept-url pattern="/**" requires-channel="https" /> 
</http> 

Wenn Nicht-Standard-Ports im Einsatz bieten port-mappings

<http> 
    <intercept-url pattern="/**" requires-channel="https" /> 
    <port-mappings> 
    <port-mapping http="80" https="443" /> 
    <port-mapping http="9080" https="9443" /> 
    <port-mappings> 
</http> 
+0

nicht sicher, wie das hilft. Wenn Apache SSL beendet, empfängt die App * immer * Anfragen auf http, nicht auf https. Das Hinzufügen von 'require-channel =" https "' verursacht keine Umleitungsschleife? – Qwerky

Verwandte Themen