作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Spring 安全性,我使用 security:intercept-url
配置需要通过 https 保护的 Web 应用程序部分标签。
例如:
<security:intercept-url pattern="/**/*secure*" requires-channel="https"/>
<security:intercept-url pattern="/**" requires-channel="http" />
http://domain/abc?secure=true
=> https http://domain/abc => http
http://domain/abc?secure=true
的请求。至
https://domain/abc?secure=true
.
最佳答案
让 Spring 考虑“?”之后的片段在 urls 中,stripQueryStringFromUrls 必须设置为 false。
这是我在 Spring forum 中找到的解决方案:
加载此 BeanPostProcessor 时,将设置该属性。
public class BeanPostProcessorImpl implements BeanPostProcessor
{
final static private Logger log = Logger.getLogger(BeanPostProcessorImpl.class);
@Override
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException
{
return bean;
}
@Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException
{
if (bean instanceof DefaultFilterInvocationSecurityMetadataSource)
{
log.info("********* Post-processing " + beanName);
((DefaultFilterInvocationSecurityMetadataSource) bean).setStripQueryStringFromUrls(false);
}
return bean;
}
}
<security:intercept-url pattern="/**/*?secure=true*" requires-channel="https"/>
关于https - Spring 安全 : How to force https with flag?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6441523/
我是一名优秀的程序员,十分优秀!