Java 为什么Spring Boot中的H2控制台在登录后显示空白屏幕?
我在H2数据库中使用SpringBoot1.4.1。通过将以下行添加到我的application.properties文件中,我已启用了中所述的H2控制台:Java 为什么Spring Boot中的H2控制台在登录后显示空白屏幕?,java,spring-boot,h2,Java,Spring Boot,H2,我在H2数据库中使用SpringBoot1.4.1。通过将以下行添加到我的application.properties文件中,我已启用了中所述的H2控制台: spring.h2.console.enabled=true spring.h2.console.path=/h2 当我进入Chrome 53 for Windows中的H2控制台时,我可以看到登录页面,单击“测试连接”按钮将显示“测试成功”: 但当我点击“连接”按钮时,屏幕完全变为空白。当我查看源代码时,我会看到“对不起,Lynx还不
spring.h2.console.enabled=true
spring.h2.console.path=/h2
当我进入Chrome 53 for Windows中的H2控制台时,我可以看到登录页面,单击“测试连接”按钮将显示“测试成功”:
但当我点击“连接”按钮时,屏幕完全变为空白。当我查看源代码时,我会看到“对不起,Lynx还不受支持”(请参阅)。同样的事情也发生在Firefox中
为什么会这样?我相信我使用的是正确的JDBC URL,因为有4个不同的人在上面发布,你应该使用JDBC:h2:mem:testdb
根据a,需要添加一行
如果项目中有spring boot starter security
依赖项,请使用SecurityConfig
类的configure
方法,否则登录H2控制台后会看到一个空页面:
http.headers().frameOptions().disable();
我加了那条线,它解决了问题
或者,可以使用以下行(如上所述):
将此添加到您的application.properties
security.headers.frame=false
我可以在SecurityConfig类中使用以下代码解决相同的问题
@Override
protected void configure(HttpSecurity http) throws Exception {
bla();
bla();
http.headers().frameOptions().sameOrigin();
}
我不知道这句话是怎么说的,也许有经验的人可以解释一下。连同@pacoverflow的答案,请注意以下几点: 从弹簧护套2.3.4开始。DB名称打印在控制台中: 使用该数据库名称进行连接:
这听起来像是Spring Boot中的一个bug。我已经打开了,以便我们可以进行调查。我支持sashok_bg的建议。我已经尝试过了,但它说“属性'security.headers.frame'已被弃用:安全自动配置不再是可自定义的。请提供您自己的WebSecurity配置bean。”而且似乎无法解决问题。无论如何,谢谢。XFrameOptionsHeaderWriter中提供的所有信息都将添加标题“X-Frame-Options:SAMEORIGIN”。它也适用于我(不过,我使用的是Chrome的ModHeader扩展,而不是修改代码)。
@Override
protected void configure(HttpSecurity http) throws Exception {
bla();
bla();
http.headers().frameOptions().sameOrigin();
}