我们在系统中使用spring security,我们的服务器使用https方案。
但是应用程序运行在http而不是https上,所以服务器是apache, 是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"/>
不工作代码:
<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"/>
有什么办法可以提及: 重定向到以/SuccessLogin.jsp结尾但使用https协议的Url?
供参考,问题是@ Code ranch PS:我可以在TargetUrlResolver帮助我进行配置吗?
答案 0 :(得分:6)
使用requires-channel="https"
<http>
<intercept-url pattern="/**" requires-channel="https" />
</http>
如果使用的非标准端口提供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>