2017-08-22 6 views
1

を追加する方法私は単に私のセキュリティのxmlにこれを追加することができます。春3.2</strong><strong>を皮切り春のセキュリティHTTPレスポンスヘッダー

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

をしかし、これは春バージョン3.1ではサポートされていない、このため任意の回避策バージョンをアップグレードする必要はありませんか?私はXFrameOptionsHeaderWriterは、この構成の背後にあるロジックを実装信じる

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

+0

コントローラにカスタムヘッダーを設定することができます response.setHeader( "X-Frame-Options"、 "SAMEORIGIN"); –

答えて

1

これは、バージョン3.1のドキュメントです。これは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> 
+0

tnx非常にいい答えですが、私はそれが動作するように見える、私は、Beanが読み込まれて参照してくださいメソッドは、私は要求を行うときに呼び出されません。何が欠けているかもしれませんか? – Spring

+0

あなたは間違った場所に豆を宣言したのでしょうか?サーブレットコンテキストではなく、 'contextConfigLocation'で使用されるアプリケーションコンテキストに配置する必要があります。 – chimmi

関連する問題