解決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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM