我有一个关于重定向策略的问题。首先,配置:
使用客户端直接连接到tomcat (即没有jk)的配置,我看到通过配置security.xml文件来使用安全端口重定向来管理https,如下所示:
<http>
<intercept-url pattern="/secure/**" access="ROLE_USER" requires-channel="https"/>
...
</http>
现在,问题是:在apache之后使用tomcat (使用jk),安全部分位于不同的主机上,因此我有以下内容
我想知道在需要https的情况下,是否可以将spring安全性配置为重定向到受保护的主机。我看到有一个端口映射配置可用,但我没有看到类似的主机。
<http>
...
<port-mappings>
<port-mapping http="9080" https="9443"/>
</port-mappings>
</http>
提前谢谢。
PS。双重主机配置由宿主服务强制执行。
发布于 2013-02-14 14:53:30
默认行为的实现是对同一个带有https前缀的URI的简单重定向,这是在由RetryWithHttpsEntryPoint
调用的SecureChannelProcessor
中完成的。您可以轻松地通过编写您的自定义AbstractRetryEntryPoint
来实现所需的行为,它不仅可以更改协议,还可以更改主机名。
实现该类之后,根据javadoc:http://static.springsource.org/spring-security/site/docs/3.1.3/apidocs/org/springframework/security/web/access/channel/ChannelProcessingFilter.html中给出的示例配置http://static.springsource.org/spring-security/site/docs/3.1.3/apidocs/org/springframework/security/web/access/channel/ChannelProcessingFilter.html
https://stackoverflow.com/questions/14876973
复制相似问题