首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spring安全性:当需要HTTPS时重定向到另一个主机

Spring安全性:当需要HTTPS时重定向到另一个主机
EN

Stack Overflow用户
提问于 2013-02-14 14:25:30
回答 1查看 2.1K关注 0票数 0

我有一个关于重定向策略的问题。首先,配置:

  1. Spring 3 Java Web应用程序
  2. apache与jk连接后的tomcat
  3. 春季安全3

使用客户端直接连接到tomcat (即没有jk)的配置,我看到通过配置security.xml文件来使用安全端口重定向来管理https,如下所示:

代码语言:javascript
运行
复制
<http>
   <intercept-url pattern="/secure/**" access="ROLE_USER" requires-channel="https"/>
   ...
</http>

现在,问题是:在apache之后使用tomcat (使用jk),安全部分位于不同的主机上,因此我有以下内容

  • http (非安全主机):www.myhost.com
  • https (安全主机):ssl.myhost.com

我想知道在需要https的情况下,是否可以将spring安全性配置为重定向到受保护的主机。我看到有一个端口映射配置可用,但我没有看到类似的主机。

代码语言:javascript
运行
复制
<http>
  ...
  <port-mappings>
    <port-mapping http="9080" https="9443"/>
  </port-mappings>
</http>

提前谢谢。

PS。双重主机配置由宿主服务强制执行。

EN

回答 1

Stack Overflow用户

发布于 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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14876973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档