登录后,为什么Spring Boot中的H2控制台显示为空白?
我正在使用Spring Boot 1.4.1和H2数据库。 我通过在application.properties文件中添加以下行来启用H2控制台,如参考指南中所述:
spring.h2.console.enabled=true spring.h2.console.path=/h2
当我在Chrome 53 for Windows中进入H2控制台时,我可以看到登录页面并单击“测试连接”按钮导致“测试成功”:
但是当我点击“连接”按钮时,屏幕完全变为空白。 当我查看源代码时,我看到“抱歉,Lynx尚未支持”(请参阅完整源代码 )。 在Firefox中也会发生同样的事情。
为什么会这样? 我相信我正在使用正确的JDBC URL,因为有4个不同的人发布了这个问题 ,你应该使用jdbc:h2:mem:testdb
。
根据博客文章 ,如果项目中有spring-boot-starter-security
依赖项,则需要在SecurityConfig
类的configure
方法中添加一行,否则在登录H2控制台后会看到一个空页:
http.headers().frameOptions().disable();
我添加了这一行,它解决了这个问题。
或者,可以使用以下行(如此处所述):
http.headers().frameOptions().sameOrigin();
A可以使用我的安全配置Bean上的下一行解决相同的问题
@Override protected void configure(HttpSecurity http) throws Exception { bla(); bla(); http.headers().frameOptions().sameOrigin(); }
我不知道这行是做什么的,也许有经验的人可以解释一下。
将其添加到您的application.properties中
security.headers.frame=false