gpt4 book ai didi

java - 如何添加 Spring Security HTTP 响应 header

转载 作者:行者123 更新时间:2023-11-30 06:32:30 34 4
gpt4 key购买 nike

Spring 3.2 开始,我可以简单地将其添加到我的安全 xml 中:

 <security:headers>
<security:frame-options
policy="SAMEORIGIN" />
</security:headers>

但是 Spring 版本 3.1 不支持此功能,有没有无需升级版本即可解决此问题的解决方法?

这是 3.1 版本的文档:

http://docs.spring.io/spring-security/site/docs/3.1.3.RELEASE/reference/springsecurity.html

最佳答案

我相信XFrameOptionsHeaderWriter实现了此配置背后的逻辑。它是在 Spring 3.2 中引入的,在该版本之前不存在类似的情况。

如果您想自己实现这一点,您可以使用一个简单的过滤器:

public class XFrameOptionsHeaderFilter extends OncePerRequestFilter {

@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
response.setHeader("X-Frame-Options", "SAMEORIGIN");
filterChain.doFilter(request, response);
}

}

您需要在应用程序上下文中为此类创建一个 bean:

<bean id="xFrameOptionsHeaderFilter" class="your.package.XFrameOptionsHeaderFilter"/>

然后在您的 web.xml 中注册过滤器:

<filter>  
<filter-name>xFrameOptionsHeaderFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>xFrameOptionsHeaderFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

关于java - 如何添加 Spring Security HTTP 响应 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45816223/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com