2010-02-09 3 views
9

우리는 시스템에 스프링 보안을 사용하고 있으며 서버는 https 구성표를 사용하고 있습니다.default-target-url의 https 스프링 보안

그러나 응용 프로그램이 http가 아닌 https에서 실행 중이므로 서버가 아파치가되도록 이 https 처리기입니다. 응용 프로그램은 방화벽 뒤 http에서 실행됩니다.

근무 코드 :

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

작동하지 않는 코드 : 가 /SuccessLogin.jsp로 끝나는하지만 HTTPS 프로토콜을 사용하여 URL로 리디렉션 :

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

언급 할 수있는 방법은 무엇입니까?

참고로 질문은 크로스 게시 됨 Code ranch 추 신 : 구성 할 수있는 TargetUrlResolver 수 있습니까? requires-channel="https"

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

답변

6

사용 사용 비표준 포트를 제공하는 경우 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

이 도움이 방법을 잘하지 않습니다. apache가 SSL을 종료하면 https가 아닌 http에서 항상 * 요청을받습니다. 'requires-channel = "https"를 추가하지 않으면 리디렉션 루프가 발생합니까? – Qwerky