解決SpringSecurity限制iframe引用頁面的問題

使用Spring Security的過程中,需要使用iframe來引入其他域的頁面,頁面會報X-Frame-Options的錯誤,試了好幾種方法一直未能很好的解決這個問題。

這裏涉及到Spring Security的一個配置,Spring Security下,X-Frame-Options默認爲DENY,非Spring Security環境下,X-Frame-Options的默認大多也是DENY,這種情況下,瀏覽器拒絕當前頁面加載任何Frame頁面,設置含義如下:

DENY:瀏覽器拒絕當前頁面加載任何Frame頁面
SAMEORIGIN:frame頁面的地址只能爲同源域名下的頁面
ALLOW-FROM:origin爲允許frame加載的頁面地址。

<!-- 解決iframe無法引入頁面問題 。若爲ALLOW-FROM模式,必須配置strategy屬性和value屬性。否則項目啓動報錯。value屬性應該就是需要被外部iframe引用的頁面。
-->
<security:http auto-config="true" use-expressions="true">
        <security:headers>
            <security:frame-options policy="ALLOW-FROM" strategy="static" value="/chart.html**"/>
        </security:headers>
</security:http>

同源的解決辦法:

<security:http auto-config="true" use-expressions="true">
    <security:headers>
        <security:frame-options policy="SAMEORIGIN"/>
    </security:headers>
</security:http>

最終,使用如下方式解決了該問題:

<security:http auto-config="true" use-expressions="true">
    <security:headers>
        <security:frame-options disabled="true"/>
    </security:headers>
</security:http>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章