2010-02-09 4 views
9

Nous utilisons la sécurité de printemps dans nos systèmes et notre serveur utilise le schéma https.https dans default-target-url spring security

Cependant, l'application s'exécute sur HTTP non https, de sorte que le serveur, étant apache, est le gestionnaire https. tandis que l'application s'exécute sur http derrière un pare-feu.

Code de travail:

<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"/> 

Code de travail Non:

<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"/> 

est-il possible de mentionner: Rediriger à l'URL se terminant par /SuccessLogin.jsp mais en utilisant le protocole https?

Pour référence, la question est postée @Code ranch PS: Je peux TargetUrlResolver m'aider dans les configurations?

Répondre

6

utilisation requires-channel="https"

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

Si les ports non standard utilisés fournissent 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

Je ne sais pas comment cela aide. Si apache termine SSL, l'application recevra * toujours * les demandes sur http, pas sur https. Win't ajoutant 'requires-channel =" https "' cause une boucle de redirection? – Qwerky