Spring 配置的 H2 控制台 frameOptions 导致无法访问

Spring H2 控制台访问登录以后的内容无法显示。

访问的时候会看到下面的情况。

 

 

解决办法

这个主要是 Spring 安全设置的问题。

在 Spring 中的 frameOptions 配置为 iframe 的安全配置。

X-Frame-Options 头主要是为了防止站点被别人劫持,所以 iframe 将会在 Spring Security 中默认是拒绝设置的。以防止点击劫持攻击。

要修改这个配置,你可以在 Spring 安全配置中进行下面的配置:

httpSecurity.headers().frameOptions().disable();

上面的选项是完全允许 iframe 。

或者你也可以配置下面:

httpSecurity.headers().frameOptions().sameOrigin();

X-Frame-Options 有三个值:

DENY
表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。

SAMEORIGIN
表示该页面可以在相同域名页面的 frame 中展示。

ALLOW-FROM uri
表示该页面可以在指定来源的 frame 中展示。

 

 

因为我们的控制台配置的是 localhost, 因此我们可以使用 sameOrigin(),因此产生的效果是一样。

https://www.ossez.com/t/spring-h2-frameoptions/607

posted @ 2020-10-23 02:07  huyuchengus  阅读(381)  评论(0编辑  收藏  举报