spring Security下,X-Frame-Options默认为DENY,非spring Security环境下,X-Frame-Options的默认大多也是DENY,这种情况下,浏览器拒绝当前页面加载任何Frame页面,设置含义如下:
DENY:浏览器拒绝当前页面加载任何Frame页面
SAMEORIGIN:frame页面的地址只能为同源域名下的页面
ALLOW-FROM:origin为允许frame加载的页面地址。
在spring boot项目中出现不能加载iframe
页面报一个"Refused to display 'http://......' in a frame because it set 'X-Frame-Options' to 'DENY'. "错误
解决方式:
因spring Boot采取的java config,在配置spring security的位置添加:
@Override protected void configure(HttpSecurity http) throws Exception { http.headers().frameOptions().disable(); http .csrf().disable(); http .authorizeRequests() .anyRequest().authenticated(); http.formLogin() .defaultSuccessUrl("/platform/index",true) .loginPage("/login") .permitAll() .and() .logout() .logoutUrl("/logout"); http.addFilterBefore(wiselyFilterSecurityInterceptor(),FilterSecurityInterceptor.class);}